【问题标题】:JavaScript: what is the regex to trim other than A-Z a-z 0-9 and symbols?JavaScript:除了 A-Z a-z 0-9 和符号之外,要修剪的正则表达式是什么?
【发布时间】:2014-11-08 04:52:42
【问题描述】:

读取 node.js/Windows 的 fs 的一些文本文件会导致包含不可见字符的尴尬数据。

String.length表示数据中包含很多多余的不可见字符。

尝试通过 js 修剪 String.trim 效果不佳,所以我尝试使用带有正则表达式的 String.replace 删除它们。

所以,这是我的问题。

除了 A-Z a-z 0-9 和符号之外,要修剪的正则表达式是什么?

应该保留空间(不是要修剪的目标)。

谢谢。

【问题讨论】:

  • 试试/[^a-zA-Z0-9\s]/
  • [^\w] 应该这样做。

标签: javascript regex string node.js


【解决方案1】:

您可以使用否定类,例如:

[^A-Za-z0-9\s]

顺便说一句,您也可以将其缩短为:

[^A-Za-z\d\s]

而且.. 如果您不介意保留下划线,您可以使用:

[^\w\s]

否定类的想法是不匹配其中的字符。对于这个正则表达式:

[^A-Za-z0-9\s]

意思是:

^       ---> not match the following
A-Za-z  ---> letters from a-z insensitive
\d      ---> digits from 0 to 9
\s      ---> spaces, tabs, etc (whitespaces)

Working demo

【讨论】:

    【解决方案2】:

    将您的符号添加到您指定为不可替换的类中。

    [^a-zA-Z0-9\s add symbols here]+

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-26
      • 1970-01-01
      • 2012-08-05
      • 1970-01-01
      • 1970-01-01
      • 2019-12-10
      • 2011-04-01
      • 2011-09-17
      相关资源
      最近更新 更多