如何仅删除初始字符后的点而不跟随空格字符

时间:2018-06-22 17:20:57

标签: javascript regex

我需要删除首字母后的点(没有空格)和逗号。

如果这是输入

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')

但是,这没有按预期工作,并且我看不到出什么问题了。

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'));