javascript - 正则表达式 JavaScript : Remove single charcaters in Text

标签 javascript regex

我想这个问题对于专家来说非常简单,但我无法解决这个问题(甚至没有通过 stackoverflow 和 google 阅读):

我想删除所有字母数字和变音符号(和双 S)单个字符(即,如果不可能,则用空格包围)。这是我尝试过的:

    var a = "text 0 1 2 3 a 4 text text";
    a = a.replace(/\b\s+[a-zA-Z0-9äöüÄÖÜß]\s+\b/g, ' ')
    a = a.replace(/\s\s+/g, ' ') + "\n" //remove double spaces
    alert(a)

我得到的结果:text 1 3 4 text text 预期输出:text text text

另请参阅:Fiddle snippet

编辑:根据评论更新了我的尝试,谢谢@stanislav-Šolc

最佳答案

积极的前瞻 (?= ) 可能会有所帮助。

var a = "text 0 ä 1 ë 2 i      text ";
a = a.replace(/ [a-zA-Z0-9äëïöÄËÜÏÖ](?= )/g, '');
a = a.replace(/  +/g, ' ');
alert(a);

第一个正则表达式将查找空格和字符,后跟空格。

所以它会返回:

text text

如果您想更彻底地删除单个字符,那么可以尝试:

a = a.replace(/ [^ ](?= )/g, '');

但这也可能会删除你想要的东西

关于javascript - 正则表达式 JavaScript : Remove single charcaters in Text,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37641213/

相关文章:

javascript - 如何在javascript中定义一个新的全局对象

javascript - 在另一个表单中提交一个表单

Java 正则表达式 : Which is faster: series of simple ones or one complex?

C++ 正则表达式匹配花括号内的内容

javascript - 使用正则表达式匹配 javascript 中的引号包裹字符串

javascript - 单击新选项卡中的打开链接时,ng-click 不起作用

javascript - Marionette - "startWithParent = false"会导致什么?

javascript - 正则表达式不能在 c# 中工作,但可以在 javascript 中工作

python - Python 中具有自定义字边界的正则表达式

javascript - AngularJS ng-show 仅触发一次