如何使用 REGEX 替换文本中的错误空格?

How can I replace wrong spaces in a text using REGEX?

我正在尝试找出如何替换文本中的空格,如下例所示,但我不知道如何处理同一文本中不同数量的空格

这段文字:

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

应该是:

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

注意字符之间有单空格,单词之间有双空格。

有人可以给我一些说明吗?

我会分两步来解决这个问题。首先,我将使用正则表达式替换所有单个 spaces,然后使用另一个正则表达式来缩短双 spaces。要仅查找单个 spaces,您可以使用此正则表达式:

(\S)\s(\S)

接下来,要查找双 spaces,您可以使用此正则表达式:

\s\s+

因此,首先,将单个 space 替换为第一个正则表达式中的第一组和第二组,然后使用第二个正则表达式将双 space 替换为单个 space。

使用原子编辑器,你可以像这样使用这两个正则表达式来查找和替换:

在第二张图中,你必须输入一个space,从屏幕截图上看有点不清楚。希望这对您有所帮助!