我在c#中为windows phone编写应用程序。 程序创建一个html文件,在程序运行过程中我添加了很多html标签。
现在我需要在需要时从字符串中删除它们。
现在我所有的搜索都显示我可以把一个字符串变成一个数组,然后把它放在一起减去我不想要的任何单词,现在这很方便,但不适合我的需要。我不知道从哪里开始,或者甚至可能
这是我需要删除的字符串的示例
testString = "<a href=\"#AnotherTest\">AnotherTest</a><br>";
所以这是我需要删除的部分字符串
List<string> partsToRemove ={"</a>","\">","<br>","<a","href=\"#"};
那么如何处理"<a href=\"#AnotherTest\">AnotherTest</a><br>"
并删除partsToRemove
中包含的所有部分?
澄清: 我只会根据需要从整个html文件中删除小字符串中的html
给出一个工作概念: 我的程序正在为角色扮演角色创建一个背景,该过程的一部分使用“帮派”生成器,帮派生成器为字符串提供准备放置的html标签(即使添加它们也不可能对我进行彻底改动整个程序)这对最终结果是好的但是我让用户访问生成器本身,所以如果他们只是想要一个团伙他们可以使用我创建的,然后将其显示在文本框中(我可以更容易地将其更改为另一个Web如果启用,手机会将其读出来,所以在这里我将采取为该团队创建的字符串并通过剥离html代码并返回“干净”字符串的方法提供它
在发帖之前,我搜索了一个解决方案,但我遇到的是如何删除单词,整个单词。
答案 0 :(得分:2)
您可以尝试使用正则表达式执行此操作:
删除所有html标记:
String result = Regex.Replace(htmlDocument, @"<[^>]*>", String.Empty);
答案 1 :(得分:0)
对于您已展示的情况,您可以使用:/(<a|href=\\"#|">|</a>|<br>|\\)/gm
正则表达式
但是,由于您可能有许多不同的类型,最好的方法是保留一个模式列表,或者尝试找出一个匹配所有不同组合的模式。拆分文档并多次执行正则表达式可能更合适,以保持正则表达式尽可能简单。
希望我回答你的问题。