我正在写一个使用 cheerio 的 webscape url 的解析器。我遇到了这样的问题,当我看到包含转义符(反斜杠)的文本时,我似乎无法使用Regex来删除它们。当我把这样的单词打印到控制台时,我得到了这样的结果。
'Local\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\tThe'
其中转义符实际上是可见的。
我试着用Regex把它们去掉,像这样。
text = text.replace(/\\n\\/g, " ")
但这并没有任何改变
我认为这与html解析器解析文本的方式有关,但任何帮助都将是巨大的,非常感谢。
\
在编程语言的文本字符串中是奇怪的。这是一个转义字符 \n
是输入单个换行符(0x0A)的方法。而 \t
是输入tab字符(0x09)的方法。而 \\
是打单字的方式 \
字符,所以看起来你的字符串中包含了乱七八糟的换行符和制表符。
所以看起来你的字符串中包含了乱七八糟的换行符和制表符。
text = text.replace(/[\n\t]/g, " ")
将用空格代替它们。如果你想只替换换行符......
text = text.replace(/\n/g, " ")
在regexps中 \s
匹配所有空白字符(tab、空格、换行)。因此,这将所有一个或多个(+
)的空白字符,并用一个空格代替。
text = text.replace(/\s+/g, " ")
(这就是浏览器在渲染html时不使用 <pre></pre>
标签)
小贴士 当Regexps得到意想不到的输入时,它们可能会变得很脆弱。请记住一句口号:"如果你用一个regexp解决一个问题,那么你就有两个问题。