2016-11-29 42 views
10

我有这个文本。在</ul>标签前有一个新行。所以我不能用这段代码去除那一行。无法从文本中删除新行

str = str.Replace(Environment.NewLine,""); 

但是,这段代码只用于通常的字符串。

<ul style="list-style-type&#58;circle;"> 
    <li><a class="ms - wikilink" href="/Test.aspx">Test1</a></li> 

</ul> 
+0

我想这一个,但没有帮助 'Regex.Replace(内容,@ “\ S +” 的String.Empty);' –

+0

所以你想从输入的html字符串中删除所有newLine字符,这可能看起来像上面的代码,不是吗? –

+0

是啊,这'str = str.Replace(Environment.NewLine,“”);'没有帮助。 –

回答

9

你可以用正则表达式删除它容易

Regex.Replace(stringValue, @"\t|\n|\r", ""); 

我希望它有帮助!

1

你可以看一下以下场景

^$ - 这看起来对于任何开始和结束(无字符)或 ^\s+$ - 这看起来对于启动任何线路,有空白,结束

寻找既多个内部消除查找

(^$|^\s+$) - ()组,|允许在搜索

OR语句

Regex.Replace(content, @"(^$|^\s+$)", String.Empty); - 请记住我的C#是生锈的,请确保您启用多行的正则表达式(通常/m)搜索

2

这可能做的伎俩为您

var regex = new Regex(@"(?<=>)\s+?(?=<)", RegexOptions.Multiline); 
var outstr = regex.Replace(YourHTMLString,"");