繁体   English   中英

用C#替换空格

[英]Replace spaces with   in C#

如果我不确定空格的数量,我怎样才能用<br />替换空格&nbsp;

 string Text = "3 stunning private villas <br />   The Beach villa";
 if (Text.Contains("<br /> "))
 {
   Text = Text.Replace("<br /> ", "<br />&nbsp;");
 }

如果你想要替换<br />之后的所有 (白色) 空格 (即所有类型的空格,制表等),你可以尝试使用正则表达式

  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

你可以用正则表达式做到这一点:

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

+表示“空格一次或多次”。 这与<br />之后的空格相匹配

(?<=<br */>)是一个积极的外观断言。 这可以确保正则表达式只匹配<br />之后立即出现的内容。 我加的之间的空间变量<br/>是安全的。

每次在<br />之后立即找到一个或多个空格时,它会占用这些空格并用&nbsp;替换每个空格&nbsp; ,并将它们替换回原始字符串。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM