вирезать последни часть, после задаммого символа 
		
		
		
		еше раз здравтвуите :) 
	есть строка, хочется вирезать из него последни часть, после заданного символа. например есть строка "aaa.www.ddd" задаём символ . (точка) получаем .ddd как ето реализоваеть ?  | 
	
		
 alert( /\.[^\.]*$/.exec( "aaa.www.ddd" )[0] )  | 
	
		
 
var str = 'aaa.www.ddd';
alert( str.slice( str.lastIndexOf('.') + 1 ) );
 | 
	
		
 nikita.mmf, 
	четко, наш парень)  | 
	
		
 спасибо :) 
	 | 
	
		
 Цитата: 
	
  | 
	
		
 Pavel M., 
	кстати я уже под <9 не верстаю)  | 
	
		
 Цитата: 
	
  | 
	
		
 Цитата: 
	
  | 
	
		
 Pavel M., 
	совсем забыл, что это не работает в IE < 9. 
var lastIndexOf =	String.prototype.lastIndexOf ?
					function ( str, searchstring ) {
						return str == null ? null : String.prototype.lastIndexOf.call( str, searchstring );
					} :
					function ( str, searchstring ) {
						if ( str == null ) return null;
						str = str + "";
						var strLength = str.length;
						var indexOf = str.split('').reverse().join('').indexOf( searchstring );
						return indexOf > -1 ? strLength - indexOf - 1 : -1;
					}
var foo = "aaa.ddd.bar";
alert( foo.slice( lastIndexOf( foo, '.' ) + 1 ) );
 | 
	
		
 nikita.mmf, 
	что мешало просто в прототип добавить? О_О что вообще за адов метод7 с чего ты взял что в ишаке реверс есть? О_О зачем вообще реверс делать? О_О что за ад тут происходит блять?  | 
	
		
 Одно слово - наркоманы. 
	lastIndexOf у строк поддерживается с самой первой версии js.  | 
	
		
 Цитата: 
	
  | 
	
		
 
//ласт индекс оф
String.prototype.lastIndexOf = function(subString, index){
	subString.length > 1 && (subString = subString.split(''));
	var i = (index !== undefined) ? index : this.length-1;
	while(i-- != 0){
		if(this[i] === subString[0]){
			if(subString.length === 1) return i;
			else{
				for( var j = 1; j < subString.length; j++){
				    if(this[i+j] !== subString[j]) break;
					if(j === subString.length-1)   return i;
				};
			}
		};
	}
	return -1;
};
alert("canal".lastIndexOf("a"))   // 3
alert("canal".lastIndexOf("a",2)) // 1
alert("canal".lastIndexOf("a",0)) // -1
alert("canal".lastIndexOf("x"))   // -1
 | 
	
		
 Заменить кроссбраузерный метод на некросбраузерный... 
	![]()  | 
	
		
 Aetae, 
	о чем ты вообще? кто так делает? если ты про мой метод, то он кросс.  | 
	
		
 Mахmaxmaximus, 
	indexOf/lastIndexOf появился в Array.prototype с версии javascript 1.6, но у String он с 1.0, зачем его заменять на свой?  | 
	
		
 poorking, 
	его и не нужно заменять это полнейшая глупость. очевидно что нативный быстрее. а зачем его нужно заменять? если ни секрет конечно  | 
	
		
 аа, тебя вот это смутило? 
	String.prototype.lastIndexOf просо чувак сказал что в ослах такого нет и привел пример как реализовать,я показал как надо это делать.  | 
	
		
 subString[0] Это не будет работать в ie.  | 
	
		
 Цитата: 
	
 засело в голове, что lastIndexOf для массивов не работает в старых IE, а здесь шла речь о строках  | 
	
		
 Mахmaxmaximus, 
	если конструктивная критика по коду, то напишите, если нет - то лучше вообще ничего не писать.  | 
	
		
 nikita.mmf, 
	не производителен, избыточен. ты используешь 2 реверса, 2 конкатенации и.т.п. это все пробегается по всему массиву целиком, а нам не нужен весь массив целиком. Это избыточно и не логично. Цитата: 
	
 
//ласт индекс оф
String.prototype.lastIndexOf = function(subString, index){
	subString.length > 1 && (subString = subString.split(''));
	var i = (index !== undefined) ? index : this.length-1;
	while(i-- != 0){
		if(this[i] === subString[0]){
			if(subString.length === 1) return i;
			else{
				for( var j = 1; j < subString.length; j++){
				    if(this[i+j] !== subString[j]) break;
					if(j === subString.length-1)   return i;
				};
			}
		};
	}
	return -1;
};
alert("canal".lastIndexOf("a"))   // 3
alert("canal".lastIndexOf("a",2)) // 1
alert("canal".lastIndexOf("a",0)) // -1
alert("canal".lastIndexOf("x"))   // -1
 | 
	
		
 Горе мне, split то я и не заметил. 
	Это тема полна фэйлами чуть более чем полностью.=/  | 
	
		
 На вскидку еще несколько вариантов без регексов: 
	
var str = "aaa.www.ddd";
alert(str.substr(str.lastIndexOf('.') + 1));
var array = "aaa.www.ddd".split('.');
alert(array[array.length-1]);
alert("aaa.www.ddd".split('.').slice(-1));
alert("aaa.www.ddd".split('.').pop(-1));
alert("aaa.www.ddd".split('.').splice(-1, 1));
 | 
	
		
 monolithed, 
	ну так не честно)  | 
	
		
 Цитата: 
	
  | 
	
		
 По моему ни чего производительней ластИндексОф тут нет, а сплит медленнее регулярок, или я не прав? 
	Цитата: 
	
  | 
	
		
 Цитата: 
	
 Цитата: 
	
  | 
	
		
 Mахmaxmaximus, 
	тесты по производительности в студию, 1 reverse и 1 join.  | 
	
		
 Еще один алгоритм: 
	
var str = "aaa.www.ddd",
    i = str.length,
    array = [];
while (str[--i] != '.')
    array.push(str[i]);
alert(array.join(''));
И для совсем извращенцев на 1-2mc медленнее: 
var str = "aaa.www.ddd",
    i = str.length, path;
while (str[--i] != '.')
    path = str.slice(i);
alert(path);
 | 
	
		
 monolithed, 
	он в ие не работает  | 
	
		
 Цитата: 
	
  | 
	
		
 я вообще не понимаю, если браузеры не работают это их проблемы) но ни как не мои ;) 
	я не знаю на сколько нужно мало зарабатывать чтобы прогимбатьяс и программировать не на javascript, а на каком то неведомом извращенском языке в котором ни чего нет) я рельно знаю только жс, иешные языки я не учил, а так брал бы как минимум двойную плату за двойную работу. одна на яваскрипт, другая на ИеСкрипт.  | 
| Часовой пояс GMT +3, время: 14:57. |