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 /> "); } 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 /> ");
}
string Text=“3令人惊叹的私人别墅
海滩别墅”;
if(Text.Contains(“
”)
{
Text=Text。替换(“
”和“
”);
}
您可以使用正则表达式执行此操作:
Regex.Replace(text, @"(?<=<br */>) +", m => m.Value.Replace(" ", " "))
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(" ", match.Length)));
Console.Write(result);
3 stunning private villas <br /> The Beach villa