例如把\s转换成\\s
/**
* 下面是自己测试输出的值
*/
'\s'.length // 1
'\s'.replace(/s/, '') // ''
'\s'.replace(/\\/, '\\\\') // error
例如把\s转换成\\s
/**
* 下面是自己测试输出的值
*/
'\s'.length // 1
'\s'.replace(/s/, '') // ''
'\s'.replace(/\\/, '\\\\') // error
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
你自己其实已经找到答案了,不是么?
在你第一句里
已经表明了内存中一共就一个字符,即
s
,所以在这之后无论你怎么替换都不可能替换掉\
,因为他根本没有实际存在于内存中。这是为什么呢?
因为``是个转义符号,换句话来说,它是个运算符。
也就是说
注意,三等号,完全一致。
也就是说,你必须在js之前把
\s
替换写(处理)成\\s