我需要删除首字母后的点(没有空格)和逗号。
如果这是输入
Some, A.B., Author, D., Names, M.F. Lorem ipsum. Lorem ipsum.
...结果应该是
Some AB, Author D, Names MF. Lorem ipsum. Lorem ipsum.
我试图获取正确的正则表达式以与replace一起使用:
string.replace(/(, [A-Z])\./g, '$1')
但是,这没有按预期工作,并且我看不到出什么问题了。
答案 0 :(得分: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'));