不符行尾的空格

不符行尾的空格

當我使用正規表示式替換空格時, \s 也匹配行尾,而不僅僅是行中的空格。我該如何修正這個問題,只替換一行中的空格。

答案1

\s代表任何類型的空白,即。簡單的空格、製表、換行符...

您可以用於\h水平空間:空間或製表。

如果您只想匹配單字之間的空格,您可以使用:(?<=\S)\h+(?=\S)

在哪裡

  • (?<=\S)是一個積極的回顧,確保我們之前沒有空白
  • (?=\S)是一個正向的前瞻,確保我們後面沒有空格。

答案2

您可以匹配所需的特定空白字符,而不是選擇所有空白字符。

例如,若要符合一個或多個空格和製表符,請使用[ \t]+.請注意,空格和 \t 字元將被匹配。

相關內容