代码之家  ›  专栏  ›  技术社区  ›  user3142695

如何只删除初始字符后面的点而不删除后面的空格字符

  •  0
  • user3142695  · 技术社区  · 6 年前

    我需要删除首字母后面的点(不带空格)和它们前面的逗号。

    如果这是输入

    Some, A.B., Author, D., Names, M.F. Lorem ipsum. Lorem ipsum.
    

    …结果应该是

    Some AB, Author D, Names MF. Lorem ipsum. Lorem ipsum.
    

    我试着用正确的regex替换:

    string.replace(/(, [A-Z])\./g, '$1')
    

    但这不起作用,正如预期的那样,我不知道出了什么问题。

    1 回复  |  直到 6 年前
        1
  •  1
  •   revo shanwije    6 年前

    你就快到了。您应该将逗号和前面的空格设为可选,并添加一个负数前视:

    var s = 'Some, A.B., Author, D., Names, M.F. Lorem ipsum. Lorem ipsum.';
    console.log(s.replace(/,?( *)([A-Z])\.(?!\s)/g, '$1$2'));