Как глобально заменить косую черту в строке JavaScript?



как глобально заменить косую черту в строке JavaScript?

277   8  

8 ответов:

следующее будет делать, но только заменит один случай:

"string".replace('/', 'ForwardSlash');

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

"string".replace(/\//g, 'ForwardSlash');

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

var str = 'some // slashes', replacement = '';
var replaced = str.replace(/\//g, replacement);

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

var str = 'Hello/ world/ this has two slashes!';
alert(str.split('/').join(',')); // alerts 'Hello, world, this has two slashes!' 

это то, что вы хотите?

'string with / in it'.replace(/\//g, '\');

Это сработало для меня в повороте "//" на "/".

str.replace(/\/\//g, '/');

вам нужно обернуть косую черту вперед, чтобы избежать перекрестных проблем браузера или / / комментирования.

str = 'this/that and/if';

var newstr = str.replace(/[/]/g, 'ForwardSlash');

Привет небольшая коррекция в приведенном выше скрипте.. выше скрипт пропускает первый символ при отображении вывода.

function stripSlashes(x)
{
var y = "";
for(i = 0; i < x.length; i++)
{
    if(x.charAt(i) == "/")
    {
        y += "";
    }
    else
    {
        y+= x.charAt(i);
    }
}
return y;   
}
var str = '/questions'; // input: "/questions"
while(str.indexOf('/') != -1){
   str = str.replace('/', 'http://stackoverflow.com/');
}
alert(str); // output: "http://stackoverflow.com/questions"

предлагаемое выражение /\//g не работает для меня; остальные строки (//g, replacement);) был закомментирован.

Comments

    Ничего не найдено.