无法从文本中删除换行符

8

我有这段文本。在</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>

我尝试了这个,但没有帮助:Regex.Replace(content, @"\s+", string.Empty); - Doniyor Niazov
是的,这个 str = str.Replace(Environment.NewLine,""); 没有起到作用。 - Doniyor Niazov
你如何获取这个输入的HTML? - sujith karivelil
请提供一个完整的示例,以便我们可以复制、粘贴、编译和运行。还要包括示例输入和输出结果。描述输出结果与您所期望的结果有何不同。 - Code-Apprentice
1
检查 Environment.NewLine 和文本中的 new line 是否没有区别。它可以是 \r\n 或 \n,在这种情况下,替换将无效。 - Klaudiusz bryjamus
显示剩余2条评论
3个回答

6
您可以使用正则表达式轻松删除它。
Regex.Replace(stringValue, @"\t|\n|\r", "");

我希望这能有所帮助!


2
这可能对你有帮助。
var regex = new Regex(@"(?<=>)\s+?(?=<)", RegexOptions.Multiline);
var outstr = regex.Replace(YourHTMLString,"");

1
你可以查找以下场景: ^$ - 查找任何以开头并以结尾的内容(无字符)或 ^\s+$ - 查找任何行以开始,包含空格,并以结尾的内容
来查找两者而不进行多次查找 (^$|^\s+$) - ()组,| 允许在搜索中使用OR语句
请注意,我的C#有点生疏,请确保在正则表达式中启用多行搜索(通常为/mRegex.Replace(content, @"(^$|^\s+$)", String.Empty);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接