當我使用正規表示式替換空格時, \s 也匹配行尾,而不僅僅是行中的空格。我該如何修正這個問題,只替換一行中的空格。
答案1
\s
代表任何類型的空白,即。簡單的空格、製表、換行符...
您可以用於\h
水平空間:空間或製表。
如果您只想匹配單字之間的空格,您可以使用:(?<=\S)\h+(?=\S)
在哪裡
(?<=\S)
是一個積極的回顧,確保我們之前沒有空白(?=\S)
是一個正向的前瞻,確保我們後面沒有空格。
答案2
您可以匹配所需的特定空白字符,而不是選擇所有空白字符。
例如,若要符合一個或多個空格和製表符,請使用[ \t]+
.請注意,空格和 \t 字元將被匹配。