首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JS XRegExp替换所有非字符

JS XRegExp替换所有非字符
EN

Stack Overflow用户
提问于 2013-09-17 19:27:19
回答 3查看 1.2K关注 0票数 1

我的目标是用#!()[]的string.All中的任何语言替换所有不是破折号(-)或数字或非字母的字符,并用空字符串替换所有其他符号。所有发生的-也不应该被取代。我已经用过这个XRegExp插件了,但是我似乎找不到神奇的解决方案:)我试过这样做:

代码语言:javascript
复制
var txt = "Ad СТИНГ (ALI) - Englishmen In New York";
var regex = new XRegExp('\\p{^N}\\p{^L}',"g");
var b = XRegExp.replace(txt, regex, "")

但结果是:A EnglishmeINeYork (ALСТИН.这有点奇怪

如果我还试图添加不删除“-”字符的条件,则会导致RegEx无效。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-09-17 19:36:10

\\p{^N}\\p{^L}的意思是一个非数字后面跟着一个非字母.

试试[^\\p{N}\\p{L}-],意思是非数字,非字母,非破折号.

一个小提琴在哪里做一些测试..。第三个XRegExp是您要求的。

票数 1
EN

Stack Overflow用户

发布于 2013-09-17 19:49:50

代码语言:javascript
复制
\p{^N}\p{^L}

是一个非数字,后面跟着一个非字母。你可能是说一个既不是字母也不是数字的字符:

代码语言:javascript
复制
[^\p{N}\p{L}]
票数 1
EN

Stack Overflow用户

发布于 2013-09-17 19:35:07

代码语言:javascript
复制
// all non letters/numbers in a string => /[^a-zA-z0-9]/g

我不知道XRegExp。

但是在js Regexp中,您可以用

代码语言:javascript
复制
b.replace(/[^a-zA-z0-9]/g,'')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18858284

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档