Как добавить пробелы в строку перед непоследовательными заглавными буквами, исключая при этом последовательные заглавные буквы? - PullRequest
0 голосов
/ 13 января 2019

Я сделал трубку в угловых, где я получаю имя перечисления, и я хочу добавить пробелы в имени перед заглавными буквами. Однако некоторые имена состоят из двух последовательных заглавных букв, и я не хочу их разбивать.

Ожидаемый результат:

LordOfWar -> Лорд войны

HQ -> HQ

Фактический результат:

LordOfWar -> Лорд войны

HQ -> H Q

Регулярное выражение: /([A-Z])/g

Фрагмент трубы: https://gist.github.com/FrisoDenijs/fc5d8a4abe2ce6a8e3544dd1f071a063

Пока это просто "HQ", поэтому я также пытался исключить HQ с отрицательным прогнозом /((?!HQ)|[A-Z])/g, однако это дало следующий результат:

LordOfWar -> L o r d O f W a r

HQ -> H Q

Оптимально, я бы хотел общее регулярное выражение, поэтому, если я получаю другую подобную ситуацию, мне не нужно добавлять другое исключение.

В противном случае я хотел бы знать, как исключить HQ (и как добавить в него больше исключений на будущее)

1 Ответ

0 голосов
/ 13 января 2019

Использование двух групп должно помочь: replace(/([a-z]+)([A-Z])/g, '$1 $2').

...