首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Javascript删除不与单词粘在一起的特殊字符

Javascript删除不与单词粘在一起的特殊字符
EN

Stack Overflow用户
提问于 2017-06-18 14:27:49
回答 1查看 28关注 0票数 0

我想删除所有不拘泥于文字的特殊字符。例如:

Lorem!伊普苏姆。不要..。坐-坐(同,)

会变成这样:

Lorem!伊普苏姆。别坐着,

我使用这个正则表达式replace(/[^\w\s]/gi, ''),但它将删除所有特殊字符。请帮帮我..。谢谢^^

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-18 16:09:17

不幸的是,Javascript RegExp不支持查找/查找,但是您可以指定一个函数作为替换参数。下面的代码片段没有产生所需的确切结果,而且也不是很优化,但也许它指出了正确的方向:

代码语言:javascript
复制
var text = 'Lorem! ?! ipsum.. do\'lor .. sit-sit ( amet, )';
text.replace(/(.)([^\w])/g, function($0, $1, $2) {
    if (/\w/.test($1)) {
        return $1 + $2;
    }
    if (/[^\w\s]/.test($1)) {
        return /\s/.test($2) ? ' ' : '';
    }
    return $1;
});

替换函数获得完整匹配作为第一个参数($0)以及所有其他匹配组($1、$2、.)。然后函数的返回值被用作实际的替换。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44615996

复制
相关文章

相似问题

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