假设用户在文本区域中输入了以下数据
测试\ $ ING
我需要提取和修改数据。问题是我无法区分' $'和' \ $'
我做了以下尝试。
indexOf('\\')
给出-1
indexOf('\$')
给出4
indexOf('$')
给出4
charAt(4)
提供$
我知道java脚本会对待' \ $'作为一个单一的角色。但是如何区分角色是否是' $'或' \ $'
我已经完成了this post,并且已接受的解决方案建议通过转义反斜杠更改原始文本。这是唯一可行的方法吗?即使是这种情况,如何逃避原文中的反斜杠?
请帮忙
答案 0 :(得分:3)
\
是一个转义字符,这意味着为了获得该字符的文字版本,您必须连续编写其中两个字符。因此,您的字符串应该在JavaScript源代码中写为'test\\$ing'
。 (但是,当用户在<textarea>
的上下文中键入时,用户不需要转义此字符。)要在字符串中找到后跟$
的黑色标记,您可以写:
string.indexOf('\\$') //=> 4
<小时/>
var string = 'test\\$ing'
console.log(string.indexOf('\\')) //=> 4
console.log(string.indexOf('\\$')) //=> 4
console.log(string.indexOf('$')) //=> 5
console.log(string.charAt(4)) //=> '\'
&#13;
答案 1 :(得分:1)
'test\$ing'
,则无法检测到&#39; \&#39;因为它被删除了。\$
内键入textarea.value
,则indexOf应该有效。请提供更多代码。