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

标签 javascript regex

我需要删除缩写后面的点(后面不带空格)和前面的逗号。

如果这是输入

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/

相关文章:

javascript - 使用onkeyup javascript时如何停止和再次启动ajax提交表单?

javascript - Spotify 网址正则表达式

SQL 正则表达式 - 选择 '/' 之后的所有内容并拆分为数组

c# - 在 C# windows 窗体中如何实现电子邮件地址的 MaskedTextBox

c# - 在不拆分的情况下在字符串中查找单词的任何方法

javascript - 如何将参数传递给 Backbone.js View ?

javascript - 何时使用 WinJS.Navigation.state 与选项

c# - 正则表达式仅匹配冒号后的小数

javascript - mongo子字段聚合查询

javascript - $modal 弹出函数中的范围值未定义为对象