为什么使用Replace方法时字符串不被替换?
本文关键字:替换 字符串 Replace 方法 为什么 | 更新日期: 2023-09-27 18:10:47
void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
label1.Text = "Completed";
string tables = this.webBrowser1.Document.GetElementById("tblProducts").InnerText;
var lines = tables.Split(new[] { Environment.NewLine }, StringSplitOptions.None).ToList();
string line1 = lines[0];
string newline1 = line1.Insert(54, ", ").Insert(36, ", ").Insert(32, ", ").Insert(23, ", ").Insert(12, ", ").Insert(4, ", ");
lines[0].Replace(line1, newline1);
lines.Insert(1, "");
string newText = string.Join(Environment.NewLine, lines);
StreamWriter w = new StreamWriter(@"c:'temp'table'Table" + count.ToString("D6") + ".txt");
w.WriteLine(newText);
w.Close();
complete = true;
count ++;
}
line1 conteint是:תאורסוגפריטמספרקטלוגיתוצרהרכבמצאיתוקףוחלותהאחריותמחירלצרכן然后我插入空格newline1:תאור,סוגפריט,מספרקטלוגי,תוצרהרכב,מצאי,תוקףוחלותהאחריות,מחירלצרכן
但是最后在newText中我看到了旧行。Line1而不是newline1。试线[0]。替换(line1 newline1);还有直线[0]。替换(newline1 line1);但我还是经常看到那句老台词
与任何字符串操作一样,您必须将新值赋给原始值:
lines[0] = lines[0].Replace(line1, newline1);
在这个例子中,因为你要替换整个行,你可以这样做:
lines[0] = newline1;