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

如何在不包括连续大写字母的情况下,在非连续大写字母之前的字符串中添加空格?

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

    我做了一个角度管道,在那里我得到了一个枚举的名字,我想在名字前添加空格大写字母。不过,有些名字是由两个连续的大写字母组成的,我不想把它们分开。

    预期结果:

    战争之王

    总部总部

    实际结果:

    战争之王

    总部大楼

    Regex: /([A-Z])/g

    管道段: https://gist.github.com/FrisoDenijs/fc5d8a4abe2ce6a8e3544dd1f071a063

    到目前为止只是“总部”,所以我也试着用否定的眼光排除总部 /((?!HQ)|[A-Z])/g 但是,这产生了以下结果:

    洛多瓦尔->世界末日

    总部大楼

    最理想的是我想要一个通用的正则表达式,所以如果我得到另一个类似的情况,我不必添加另一个排除。

    否则,我想知道如何排除总部(以及如何添加更多的排除到它以后)

    1 回复  |  直到 6 年前
        1
  •  1
  •   flederwiesel G S    6 年前

    使用两个组应该可以做到这一点: replace(/([a-z]+)([A-Z])/g, '$1 $2') .

    推荐文章