我有一个html文档,其中包含某些节点中的空格。例如,
<B>This is Whitespace Node </B>
当在浏览器中显示此html时,html中的多个连续空格始终显示为一个空格。为了避免这个问题,我想用一个空格和多个
元素替换连续空格。
实现这一目标的最佳解决方案是什么?
我正在使用C#2005。
答案 0 :(得分:2)
试试这个,
string str = "<B>This is Whitespace Node </B>";
Regex rgx = new Regex("([\\S][ ])");
string result = rgx.Replace(str, "$1.")
.Replace(" .","?")
.Replace(" "," ")
.Replace("?"," ");
答案 1 :(得分:1)
根据http://www.w3.org/TR/CSS2/text.html#white-space-prop
使用CSS的white-space
属性
white-space: pre-wrap
或者,如果你真的想用bruteforce来做,用一个非破坏空间和一个普通空间替换两个连续的空格......我强烈建议不要这样做。
string text = originalText.Replace(" ", " ");
答案 2 :(得分:0)
你可以尝试
String.Replace(" ", " ")
如果你喜欢正则表达式
Regex rgx = new Regex("([ \t]|&nsbp)+");
string result = rgx.Replace(input, " ");
答案 3 :(得分:0)
我假设你是从代码背后设置控件的值?如果是那么......
<strong><asp:Literal id="myLiteral">This is Whitespace Node </asp:Literal></strong>
在代码背后......
var myText = "This is Whitespace Node ";
myLiteral.Text = myText.Replace(" ", " ");
如果文字中没有代码或没有代码......
<strong><%= "This is Whitespace Node ".Replace(" ", " ") %></strong>