Привет борется здесь, ребята ..

Можно ли заменить строку между первыми косыми чертами на «», но оставить остальные?

Например вар будет

string "/anything-here-this-needs-to-be-replaced123/but-keep-this";

В конечном итоге так

string "/but-keep-this";

Надеюсь, что это имело смысл

1
Webby 12 Июн 2010 в 15:58

3 ответа

Лучший ответ

Вы можете просто разделить его на /

var str = "/anything-here-this-needs-to-be-replaced123/but-keep-this";
var myarray = str.split('/');
alert('/' . myarray[2]);
4
Sarfraz 12 Июн 2010 в 12:35
var s = "/anything-here-this-needs-to-be-replaced123/but-keep-this";

pos = s.lastIndexOf("/");

var s2 = s.substring(pos);

alert(s2);
3
nico 12 Июн 2010 в 12:01

Как это:

var string = "/anything-here-this-needs-to-be-replaced123/but-keep-this";
string = string.substring(string.indexOf('/', 1));

Вы можете посмотреть демо здесь, чтобы поиграть с, .indexOf() метод принимает необязательный второй аргумент, с которого начинается поиск, просто используйте его с .substring() здесь.

Если вы хотите удалить все начальные косые черты (неясно из примера), измените его немного на .lastIndexOf() без аргумента начала, например:

var string = "/anything-here-this-needs-to-be-replaced123/but-keep-this";
string = string.substring(string.lastIndexOf('/'));

Вы можете поиграть с этим здесь, эффект такой же для примера, но будет другим в случай более косых черт.

2
Nick Craver 12 Июн 2010 в 12:00