我需要删除缩写后面的点(后面不带空格)和前面的逗号。
如果这是输入
Some, A.B., Author, D., Names, M.F. Lorem ipsum. Lorem ipsum.
...结果应该是
Some AB, Author D, Names MF. Lorem ipsum. Lorem ipsum.
我尝试获取正确的正则表达式以将其与替换一起使用:
string.replace(/(, [A-Z])\./g, '$1')
但这不起作用,正如预期的那样,我看不出出了什么问题。
最佳答案
你就快到了。您应该将逗号和前面的空格设为可选,并添加否定的前瞻:
var s = 'Some, A.B., Author, D., Names, M.F. Lorem ipsum. Lorem ipsum.';
console.log(s.replace(/,?( *)([A-Z])\.(?!\s)/g, '$1$2'));
关于javascript - 如何仅删除初始字符后的点而不跟随空格字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50992851/