C# 将空格替换为&;nbsp;在C中#

C# 将空格替换为&;nbsp;在C中#,c#,string,C#,String,如果我不确定空格的数量,如何将之后的空格替换为 string Text = "3 stunning private villas <br /> The Beach villa"; if (Text.Contains("<br /> ")) { Text = Text.Replace("<br /> ", "<br />&nbsp;"); } string Text=“3令人惊叹的私人别墅海滩别墅”; if(Text.Co

如果我不确定空格的数量,如何将

之后的空格替换为

 string Text = "3 stunning private villas <br />   The Beach villa";
 if (Text.Contains("<br /> "))
 {
   Text = Text.Replace("<br /> ", "<br />&nbsp;");
 }
string Text=“3令人惊叹的私人别墅
海滩别墅”; if(Text.Contains(“
”) { Text=Text。替换(“
”和“
”); }
您可以使用正则表达式执行此操作:

Regex.Replace(text, @"(?<=<br */>) +", m => m.Value.Replace(" ", "&nbsp;"))
Regex.Replace(text,@)(?如果要替换

后面的所有(白色)空格(即所有类型的空格、表格等),可以尝试使用正则表达式:

string Text=“3令人惊叹的私人别墅
海滩别墅”; 字符串结果=Regex.Replace( 文本,
@“(?当前代码有什么问题?@sujithkarivelil这只替换第一个space@sujithkarivelil它只替换了一个空格,而不是
后面的x个空格,因此

应替换为

侧注:
如果(Text.Contains(
)的话)
是多余的,可以消除:
Text=Text.Replace(
,“
”)
所以10个空格应该替换为10个?请注意,
\s
匹配的不仅仅是一个空格字符,严格来说,这与问题背道而驰。@canton7:这对我来说是一个开放的问题。如果我们有“
&sp;”我认为将所有(白色)空格转换为不间断空格更为正确:“
”我看到您现在已经在回答的开头提到了它。
  string Text = "3 stunning private villas <br />   The Beach villa";

  string result = Regex.Replace(
      Text,
    @"(?<=\<br \/\>)\s+",
      match => string.Concat(Enumerable.Repeat("&nbsp;", match.Length)));

  Console.Write(result);
  3 stunning private villas <br />&nbsp;&nbsp;&nbsp;The Beach villa