基本的に私たちの問題は次のとおりです: 次のような文字列を置き換えることはできません: 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);
-- using (var sr2 = new StreamReader(Application.StartupPath + @"\website\Dehler 22 ET.htm", Encoding.Default)) {
using (var sw2 = new StreamWriter(tempFile, true, Encoding.Default))
ファイルがまだ ASCII であるため、これを使用しています。多分それが問題です。これをどのように解決しますか?