【发布时间】:2018-01-17 10:16:19
【问题描述】:
我在 RichTextBox 中打开了一个 .CSV 文件。我将每行的第一个单词添加到 CombobBox 项目中。我想编辑这个特定的单词,然后将其保存回文件。
这就是我打开文件到richTextBox1的方式。
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "Csv files (.csv)|*.csv";
ofd.Title = "Open a file...";
if (ofd.ShowDialog() == DialogResult.OK)
{
StreamReader sr = new StreamReader(ofd.FileName);
richTextBox1.Text = sr.ReadToEnd();
}
现在我想要一个在richTextBox 中找到我的comboBox1.Text 并将其替换为txtbox.Text 的按钮。
我的按钮如下所示:
private void button1_Click(object sender, EventArgs e)
{
using (TextReader reader = new StringReader(richTextBox1.Text))
{
string str = reader.ReadToEnd();
string cbtxt = comboBox1.Text;
string tbtxt = txtbox.Text;
str = str.Replace(cbtxt, tbtxt);
}
}
我会将方法添加到此按钮的末尾,该方法会将文本从richTextBox 保存回我的 .CSV 文件,但此替换方法不会替换我的richTextBox 中的任何内容。
我的 .CSV 文件(在 RichTextBox 中)如下所示:
一些字符串,一些数字,一些特殊字符;
somestring2,somenumber2,somespecialcharacters2;
它有大约 50 行,我的组合框充满了每一行的第一个单词,例如:“somestring”“somestring2”。 当我单击某个字符串(然后是我的combobox.text)时,我将“newstring”写入我的txtbox.text。当我单击我的按钮时,它应该在richtxt 中找到comboBox.text 并将其替换为我的txtbox.text。
任何想法为什么它不起作用?
【问题讨论】:
-
您是否将 str 中的文本放入richTextBox1.Text 中?我在代码中没有看到这个。
-
替换不行吗?如果不是我如何用保持不变的文本替换文本?
标签: c# string winforms replace richtextbox