解码文本文件

本文关键字:文件 文本 解码 | 更新日期: 2023-09-27 18:34:30

所以我将以下内容加载到一个文本文件中,然后在列表中读取到我的 c# 程序中,然后将列表转换为字符串。现在我想从所有 HTML 中解码字符串,但我无法做到。现在有人怎么做?以下是要格式化的文本:

<p> <span style="font-size: 18px;"><strong>Varifr&aring;n kommer den svarta m&auml;rren&nbsp; i Sm&aring;land?</strong></span></p>
  <p> <span style="font-size: 14px;"><input checked="checked" name="ruta1" type="checkbox" value="Svar 1" />&nbsp;Fr&aring;n Tyskland</span></p>
    <p> <input type="checkbox" />Fr&aring;n Belgien</p>
      <p> &nbsp;</p>
        <p> <input type="checkbox" />&nbsp;Fr&aring;n Turkiet</p>
      <p>  &nbsp;</p>
   <p>  &nbsp;</p>
<p>  &nbsp;</p>
public partial class Form1 : Form
    {
        string temp = "TextKod.txt";
        string line = "";
        List<string> texten = new List<string>();
        string vetEj;
        string hoppSan;
        public Form1()
        {
            InitializeComponent();
            StreamReader sr = new StreamReader(temp);
            while ((line = sr.ReadLine()) != null)
            {
                string[] myarray = line.Split(''r');
                vetEj = myarray[0];
                texten.Add(vetEj);
            }
            hoppSan = string.Join("'r", texten);

解码文本文件

我认为您真正想要的是编码字符串。但无论哪种方式,添加对System.Web的引用并利用 HttpUtility 类。要解码:

HttpUtility.HtmlDecode(htmlString);

并编码:

HttpUtility.HtmlEncode(htmlString);

要删除所有 HTML 元素,请执行以下操作:

var cleanHtml = Regex.Replace(htmlString, "<.*?>", "");

您可以将正则表达式修改为此<.*?>|&.*?;以摆脱这些&nbsp;元素,但这也与 Fr&aring;n Tyskland 中的&aring;相匹配,所以这取决于您。

如果您使用的是.NET 4.0+,则还可以使用WebUtility.HtmlDecode,它不需要额外的程序集引用,因为它在 System.Net 命名空间中可用。

这也可能有助于

 myEncodedString = HttpUtility.HtmlEncode(string);