簡體   English   中英

用C#中的Regex替換兩個或多個空格

[英]Replace two or more spaces with Regex in C#

我對Regex的東西太可怕了。 我想在C#中使用正則表達式將任意兩個或更多空格轉換為不間斷空格。 我想單獨留下單個空格。

Sample     Sample

會生產

Sample     Sample

Sample Sample

不會受到影響。

有任何想法嗎?

提前致謝。

您可以使用MatchEvaluator作為替換參數。 在C#3.0或更新版本中,您可以使用lambda函數:

s = Regex.Replace(s, " {2,}", x => x.Value.Replace(" ", " "));

它基於零寬度正向前瞻和后觀斷言。

MSDN

var rx = new Regex(" (?= )|(?<= ) ");

var str = "ab   cde f";
var res = rx.Replace(str, "&nbsp;");

// res == ab&nbsp;&nbsp;&nbsp;cde f

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM