1

我有一个富文本框,有 100 多行句子。我从 reader[0] 那里得到我的句子,并对每个数据使用 split... 最后添加 ); 为每一行的结尾。但是当我检查我的句子时,我看到一些行以结尾,))):其中一些以结尾,));所以我想做的是减少。

我的读者带来了如下的句子:最后一句有一些空白,但有些修剪不能使最后一个)像这句话一样放在句子后面)

 my first (sentence(1))
 my second (sentence)
 my last (sentence

)

我的代码:

string[] splitted = reader[0].ToString().Split(new char[] { '\n' }, StringSplitOptions.RemoveEmptyEntries);

    foreach (string line in splitted)
    {
     RichTextBox1.AppendText(Environment.NewLine + line.Trim() + ");" + Environment.NewLine);

    if ((line.Trim().EndsWith(")));")) || (line.Trim().EndsWith("));")))
    {
     line.replace(");",";");
    }
 }

原来的:

my first (sentence(1)));
my second (sentence));
my last (sentence);

应该:

my first (sentence(1));
my second (sentence);
my last (sentence);
4

2 回答 2

3

这可以解决问题(如果每个“))”都是错误的),您需要在将字符串添加到文本框之前“修复”它们

 RichTextBox1.AppendText(Environment.NewLine + line.Trim().Replace("));",");") + ");" + Environment.NewLine);

编辑:

你可以尝试单独替换

首先将 Environment.NewLine + "my" 替换为 "{line}my" 然后将 Environment.NewLine 替换为 "" 然后将 "{line}" 替换为 ";" + 环境.NewLine

那应该给你结果

于 2013-10-03T05:52:09.907 回答
0

看一下这个

 richTextBox2.AppendText(Environment.NewLine + richTextBox1.Text.Trim().Replace("));", ");") + Environment.NewLine);
于 2013-10-03T06:17:33.523 回答