基本上我们的问题是:我们不能替换这样的字符串:10003* 但是我们可以替换这样的字符串:10003
我们要替换字符串的一部分,如下所示: 10003* 这是我们的代码:
string text = sr2.ReadToEnd();
sr2.Close();
while (loop != lstTxt.Items.Count)
{
string SelectedItem = lstTxt.SelectedItem.ToString() + "*";
text = text.Replace(SelectedItem, "tietze111");
if (lstTxt.SelectedIndex < lstTxt.Items.Count - 1)
lstTxt.SelectedIndex++;
loop++;
}
sw2.Write(text);
但它不起作用。当我们在要替换的部分中省略 * 时,它可以工作。但是我们也必须替换 *。你知道我们必须改变什么吗?
当我们使用它时它会起作用:
string text = sr2.ReadToEnd();
sr2.Close();
while (loop != lstTxt.Items.Count)
{
string SelectedItem = lstTxt.SelectedItem.ToString(); // changed
text = text.Replace(SelectedItem, "tietze111");
if (lstTxt.SelectedIndex < lstTxt.Items.Count - 1)
lstTxt.SelectedIndex++;
loop++;
}
sw2.Write(text);
-- 使用 (var sr2 = new StreamReader(Application.StartupPath + @"\website\Dehler 22 ET.htm", Encoding.Default)) {
using (var sw2 = new StreamWriter(tempFile, true, Encoding.Default))
我们使用它是因为文件仍然是 ASCII 格式。也许这就是问题所在。我们如何解决这个问题?