在 HTML 文件中替换

本文关键字:替换 文件 HTML | 更新日期: 2023-09-27 18:30:58

我正在使用以下代码。它只在列表框中显示HTML文件我想替换图1,图1.2,图2,图2.1等.......如图 1 所示。在输出中

请帮助我

 public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }
    private void button1_Click(object sender, EventArgs e)
    {
        FileInfo file = new FileInfo(textBox1.Text);
        StreamReader stRead = file.OpenText();
        while (!stRead.EndOfStream)
        {
            listBox1.Items.Add(stRead.ReadLine());
        }
    }
}

输出

<html>
<head>
</head>
<body>
<div>
<p class="epigraph"> very Figure 1 But thanks to you, we won&#x0027;t do it </p>
<p class="epigraph-right"> birthday Figure 1.1  Milton Friedman, November 8, 2002</p>
<p class="indent">Not Figure 2 able to take it any longer New York </p>
<p class="indent">Mr. Cutler Figure 2.1 of the parallel plunges</p>
</body>
</div>
</html>

在 HTML 文件中替换

我认为您需要对其进行测试

FileInfo file = new FileInfo(textBox1.Text);
StreamReader stRead = file.OpenText();
while (!stRead.EndOfStream)
{
    string strTemp = stRead.ReadLine();
    for (int i = 1; i < MaxFigureCount; i++)
        strTemp = strTemp.replace("Figure "+i+" ", "Figure "+i+".x ");
    listBox1.Items.Add(strTemp);
}

如您所见,我不知道您的MaxFigureCount我也".x",因为我无法弄清楚您要做什么。

最后我也有额外的空间,以确保我们不会错过 2.1 或 1.2(如果它们已经存在)。

使用 String.Replace

while (!stRead.EndOfStream)
{
    string test = stRead.ReadLine();
    string correctString = test.Replace("Figure 1", " Figure 1.2");
    //Etc. etc.....
    listBox1.Items.Add(correctString);
}

尝试使用 Regex.Replace:

listBox1.Items.Add(Regex.Replace(stRead.ReadLine(), @"'sFigure 'd+.'d+'s", " Figure 1 "));

我已经做了一些测试并且显然工作正常,但我不是正则表达式语法的专家。