gpt4 book ai didi

javascript - 从字符串中删除标点符号?

转载 作者:行者123 更新时间:2023-12-03 08:38:43 24 4
gpt4 key购买 nike

我正在研究回文函数,并遇到了一个从字符串中删除标点符号的公式。


var punctuation = /[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,\-.\/:;<=>?@\[\]^_`{|}~]/g;
var spaceRE = /\s+/g;
var str = "randomstringwith*&^%"
var testStr = str.replace(punctuation, '').replace(spaceRE, '')
document.write(testStr);

我的问题是,如果我删除 .replace(spaceRE, '') 结果似乎没有任何变化。我是否遗漏了什么,或者这个公式是否有多余的代码?我也对 str.replace(punctuation,'');

的使用有点困惑

标点符号代表任何非字母/数字字符,''将它们替换为空字符串,对吗?谢谢!

最佳答案

在像您这样的情况下,您必须问自己哪个更容易:

  • 创建一个阻止某些字符的 REGEXP
  • 创建一个允许某些字符的 REGEXP

您的选择应该取决于哪个工作量更少且更可靠。

编写阻止所有符号的模式取决于您记住每个可能的符号 - 不仅仅是标点符号,还包括表情符号模式、数学符号等等。

如果您只想只允许数字和字母,您可以这样做:

str.replace(/\W/g, '');

\W/是“非字母数字”字符的别名。这里唯一需要注意的是字母数字包含下划线,所以如果您也想阻止这些:

str.replace(/\W|_/g, '');

关于javascript - 从字符串中删除标点符号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63227436/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com