我有试图从字符串替换反斜杠字符一个问题:Jquery-反斜杠字符
var g = myReadString;
g = g.replace("\", "\\\\");
它给未识别的字符的错误。
如何用简单的\
替换为四个\\\\
?
我将不胜感激, 谢谢。 Pandy
我有试图从字符串替换反斜杠字符一个问题:Jquery-反斜杠字符
var g = myReadString;
g = g.replace("\", "\\\\");
它给未识别的字符的错误。
如何用简单的\
替换为四个\\\\
?
我将不胜感激, 谢谢。 Pandy
\
是转义序列的开始。如果您的字面意思是写\
,则您需要编写\\
这也是一个转义序列,并且将被解释为单个\
。所以,如果你想四\\\\
更换一次\
,你需要这样写:
g.replace("\\", "\\\\\\\\")
但这只会更换单个\
的第一次出现。要做到全局替换,你需要使用正则表达式与全球匹配修饰符:
g.replace(/\\/g, "\\\\\\\\")
g = g.replace(/\\/g, "\\\\");
我想这就是你要找的内容。如果不是,请告诉我。
你好我的朋友,它不起作用。它不会取代角色。例如,我想: IN:“myvalue \ assa”(1个反斜杠) OUT:“myvalue \\\\ assa” – 2010-12-01 13:37:33
反斜杠也可以作为逃避角色。你可以在这个页面找到一个字符列表... http://www.c-point.com/javascript_tutorial/special_characters.htm
所以,为了搜索或替换反斜杠,你必须避开反斜线。我实际上只是运行你的代码,并且它不起作用,因为反斜杠正在逃避第一个报价。你究竟想要做什么?如果你想用双精度来替换每一个反斜杠,你需要这样的东西。
var g = myReadString;
g = g.replace("\\", "\\\\");
希望有所帮助!
在一般请务必始终正确地转义。
在为replace()
你的第一个参数,你打算通过包含\
一个字符串,但它结束了作为",
(报价逗号空间)!这是因为你实际上是逃避“合闸”引用的字符串:
g = g.replace("\", "\\\\");
^^
s e
t n
a d
r
t
现在,第一个参数是字符串引号逗号空间。其余的给出一个语法错误!
你想要什么:
g = g.replace("\\", "\\\\\\\\");
^^^ ^
s e s e
t n t n
a d a d
r r
t t
第一个参数:字符串\
第二个参数:字符串\\\\
我觉得OP实际上希望与*四个*文字反斜杠替代一个反斜杠。 – jensgram 2010-12-01 13:43:32
@jensgram:我认为你是对的。 – Gumbo 2010-12-01 13:50:44