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!'
вам нужно обернуть косую черту вперед, чтобы избежать перекрестных проблем браузера или / / комментирования.
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