我希望在txt
文件中用"xxx"
替换"\n\t"
:
"数字多功能光盘 DVD shùzì"
我这样做:str.replace("\n\t","xxx")
方法匹配所需的部分,但留下\n
部分,只用\t
替换'xxx'
.WHY?
为什么在VSCOde
中使用crtl+F
时,它的效果很好,但在代码中却不是这样。
发布于 2019-05-23 19:36:06
首先,str.replace("a","b")
只替换JavaScript中的第一个匹配项。要替换所有它们,您需要使用带有g
修饰符的正则表达式。所以,你可以先试试str.replace(/\n\t/g,"xxx")
。
接下来,为什么它可以在VSCode中工作?在VSCode正则表达式中,\n
匹配在VSCode应用程序右下角选择的任何换行序列。在这种情况下,它在PCRE、Java、Onigmo等中作为\R
工作。
由于可能有许多行结束序列,因此您可以考虑将VSCode \n
“转换”为匹配任何单个Unicode换行符序列的(?:\r\n|[\r\n\x0B\x0C\x85\u2028\u2029])
,并使用
s = s.replace(/(?:\r\n|[\r\n\x0B\x0C\x85\u2028\u2029])\t/g, '')
https://stackoverflow.com/questions/56273378
复制相似问题