【发布时间】:2018-12-20 20:08:28
【问题描述】:
我正在尝试删除可以随时更改的字符串部分。这使得很难拆分字符串以删除所述部分。在要删除的部分之前和之后有一个点是不变的。
这是我能想到的准确展示示例的唯一方法(请忽略它是 html 的事实):
string text =
"<ul>
<li>keep this text</li>
<li class=Known unknown text </li>
<li>keep this text</li>
</ul>";
string [] splitPerams = {"","<li class=Known (im guessing a regex here)
</li>"}
string [] results =
text.Split(splitPerams,System.StringSplitOptions.RemoveEmptyEntries);
输出:
"<ul>
<li>keep this text</li>
<li>keep this text</li>
</ul>";
我知道关于这个主题有很多类似的问题,但它们都是用不同的语言编写的,我不知道如何在 c# 中实现逻辑。
编辑:我想我不允许删除它,所以我会尽我所能完全改写它以便更好地理解。
【问题讨论】:
-
你不应该使用字符串操作来处理 HTML,有专门的库来处理这个问题:HtmlAgilityPack 和 AngleSharp 是最受欢迎的两个
-
@maccettura 我正在进行的项目需要这个。但是,这个问题是指如何拆分字符串。字符串的内容应该与此无关。如果它更有帮助,我将给出一个不同的字符串示例。
-
好吧,如果您的现实生活中的输入 是 HTML,那么请使用我所说的库。如果您想在不使用库的情况下执行此操作,那么您可以随意查看库的功能,因为它们是开源的。
-
您的新示例更没有意义。如果您只想要第一个
x位数,只需使用Substring() -
这与其说是拆分,不如说是截断。你不能只使用子字符串吗? docs.microsoft.com/en-us/dotnet/api/…