Как я могу заменить неправильные пробелы в тексте с помощью REGEX?

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

Этот текст:

E m  se guida,  a  e mpre sa  deu  ba ixa  e m 
cerca  de  $82  b ilhões   ( ma is  de  75 %)  de  se us  a t ivos.

Должно быть:

Em seguida, a empresa deu baixa em 
cerca de $82 bilhões (mais de 75%) de seus ativos.

Обратите внимание, что между символами и двойными пробелами между словами.

Может кто-нибудь пролить свет на это?


person Lucas Rezende    schedule 19.02.2018    source источник


Ответы (1)


Я бы подошел к этому в два этапа. Сначала я бы использовал регулярное выражение для замены всех одиночных пробелов, а затем другое, чтобы сократить двойные пробелы. Чтобы найти только отдельные пробелы, вы можете использовать это регулярное выражение:

(\S)\s(\S)

Затем, чтобы найти двойные пробелы, вы можете использовать это регулярное выражение:

\s\s+

Итак, сначала замените одиночные пробелы на группы один и два из первого регулярного выражения, а затем замените двойные пробелы на одиночный пробел, используя второе регулярное выражение.

Используя редактор атомов, вы можете использовать эти два регулярных выражения для поиска и замены следующим образом:

введите здесь описание изображения  введите описание изображения здесь

На втором изображении вам нужно ввести один пробел, это немного неясно на снимке экрана. Надеюсь это поможет!

person user3483203    schedule 19.02.2018