如何从字符串中删除除字母、数字、空格、感叹号和问号之外的所有内容
How to remove everything but letters, numbers, space, exclamation and question mark from string?
如何删除除之外的所有内容
字符串中的字母、数字、空格、感叹号、问号?
该方法支持国际语言(UTF-8)非常重要。
您可以使用regex
myString.replace(/[^'w's!?]/g,'');
这将替换除单词字符、空格、感叹号或问题之外的所有内容。
字符类:
'w
代表"字字符",通常为[A-Za-z0-9_]
。请注意包含下划线和数字。
's
代表"空白字符"。它包括CCD_ 4。
如果不需要下划线,可以只使用[A-Za-z0-9]
。
myString.replace(/[^A-Za-z0-9's!?]/g,'');
对于unicode字符,可以向表达式中添加类似'u0000-'u0080
的内容。这将排除该unicode范围内的所有字符。您必须指定不希望删除的字符的范围。你可以在Unicode地图上看到所有的代码。只需添加您想要保留的字符或一系列字符即可。
例如:
myString.replace(/[^A-Za-z0-9's!?'u0000-'u0080'u0082]/g,'');
这将允许前面提到的所有字符,范围从'u0000-'u0080
到'u0082
。它将删除'u0081
。
到目前为止发布的两个答案都省略了问号。我会对他们发表评论,但还没有足够的代表性。
David是正确的,sachleen的正则表达式将留下下划线。rcdmk的regex经过如下修改,可以做到这一点,尽管如果你关心国际字符,事情可能会变得复杂得多。
var result = text.replace(/[^a-zA-Z0-9's!?]+/g, '');
这将留下新的行和选项卡以及空格。如果你也想去掉新行和制表符,请将其更改为:
var result = text.replace(/[^a-zA-Z0-9 !?]+/g, '');
text = "A(B){C};:a.b*!c??!1<>2@#3"
result = text.replace(/[^a-zA-Z0-9]/g, '')
应返回ABCabc123
首先,我们将文本定义为
A B C a b c 1 2 3
,但使用随机字符将result
设置为:
text.replace(...)
,其中参数为:
/.../g
、/.../
:^
表示反向;不删除以下字母:
a-z
(小写字母)、A-Z
(大写字母)和0-9
(数字)
g
表示全局,删除所有匹配,而不仅仅是第一个匹配第二个参数是替换字符,我们将其设置为一个空字符串,以便它只保留指定的字符串。如果指定了
,它将返回以下信息:
var cleaned = someString.replace(/[^a-zA-Z0-9! ]+/g, "");
您可以尝试使用正则表达式,如:CCD_23
- 我如何找到一个句子中的所有空格并替换忽略它们
- Regex代码只允许一个空格
- Javascript,有没有一种方法可以将数组写成没有逗号或空格的单个文本字符串
- 拆分文本以每隔n个字符添加一行新行,并注意空格
- 用空格替换下划线PHP
- 如何为jQuery屏蔽输入插件创建一个允许字母数字、空格和重音字符的掩码
- 当没有文本输入聚焦时检测空格键按下
- 一个密码测试程序,如果存在空格,它会提醒用户
- 在谷歌应用程序脚本中转换为空格的制表符
- 如何将字符串拆分为字符,但在javascript中保留空格
- Jquery:如何获取所选选项全文(带空格)
- 用空格替换+
- regex表示逗号,后跟空格或仅逗号
- Javascript Regexp-不接受空格,但应该接受
- 如何从字符串中删除除字母、数字、空格、感叹号和问号之外的所有内容
- 如何替换JavaScript字符串中除字母和数字之外的所有内容(空格/符号)
- JavaScript从字符串中删除尾随空格和句点
- 选择带有空格分隔单词的元素
- 连接字符串时如何留出空格
- 正则表达式搜索一个空格,后跟一个字符