为什么在以下情况下n给出0:
var str = '\\nvga032.bmwgroup.net\QXE7868\Daten\IE\3_bookmarks.zzz'
var n = str.indexOf("\\");
alert(n) //0
反斜杠的转义字符肯定是
'\\'
我错过了什么吗?我正在最后一个位置寻找单个反斜杠。我也尝试了 lastIndexOf ,这也给出了零。这两个“.”把事情搞砸了吗?
最佳答案
indexOf
匹配字符串,而不是用于创建它的 JavaScript 源代码。
\
字符开始转义序列。
\\
是“反斜杠”的转义序列。
分配给 str
的字符串以 \\
开头,这会在数据中的位置 0 处放置一个反斜杠。
传递给 indexOf
的字符串完全由 \\
组成,它与数据中的第一个反斜杠匹配。
如果您想在字符串中描述转义序列,您可以使用 \\\\
(即反斜杠的转义序列后跟反斜杠的另一个转义序列,从而产生由两个反斜杠)。
关于javascript - indexOf 中的反斜杠转义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26974993/