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] .Replace(line1,newline1);还有行[0] .Replace(newline1,line1);但我仍然一直看到旧线。
答案 0 :(得分:5)
与任何字符串操作一样,您必须将新值分配回原始值:
lines[0] = lines[0].Replace(line1, newline1);
在这种情况下,由于您要替换整个行,您可以这样做:
lines[0] = newline1;