我想这个问题对于专家来说非常简单,但我无法解决这个问题(甚至没有通过 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/