var a="a\a\a/b"
var reg=/\/g;
alert(a.replace(reg,"-"));
Mein Code, das endgültige Ausgabeergebnis ist aa-a/b
Der reguläre Ausdruck ersetzt nur doppelte Backslashes, nicht jedoch einzelne Backslashes. Wie kann ich ihn ändern, um ihn zu ersetzen?
Der Grund dafür ist, dass Sie als Escape-Zeichen in der Chrome-Konsole sehen können, dass „aaa/b“ letztendlich als „aaa/b“ ausgegeben wird
Wie kann man diese Situation lösen?
反斜杠“”是转义字符,出现在字符的前面,表示一个整体,比如说"n",就表示换行符。见下面代码:
也就是说"f"算一个字符。
希望可以帮到你!
查了一圈资料,并没有发现解决的方法,被当成转义字符,是底层的实现,无法进行查找和替换,字符还是要写成
"a\\a\\\\a/b"
才行你要用于哪种场景呢? 不知道这种情况是不是你要的结果:
创建
test.txt
,内容为a\a\\a/b
创建
test.js
,下面node控制台进行一些测试和结果:那么我觉得替换
var a="a\a\\a/b"
这种字符串
的反斜杆毫无意义,你可能把字符串
和文本字符
弄混了