【发布时间】:2016-09-14 00:12:36
【问题描述】:
我编写了一些代码,允许用户在富文本框中输入句子,然后数据将保存到列表中并删除重复项。
我想知道的是如何用它们的位置覆盖列表中的单词,然后用这些位置替换原始句子的位置。
例如:在句子Hello this is a test I hope this test works 中,该句子将被保存,删除重复项,并输出hello, this, is, a, test, I, hope, works,代码将其替换为1 2 3 4 5 6 7 8(我认为)。
现在我需要让程序用它在原始位置中的位置替换列表中的实际单词,这样它最终会说1 2 3 4 5 6 7 2 5 8,用逗号分隔。
这是我的代码:
string sentence = richTextBox1.Text;
list = sentence.Split(delimiterChars).ToList();
listoriginal = sentence.Split(delimiterChars).ToList();
listBox1.Items.Add("Full sentence: " + String.Join(" ", list));
list = list.Distinct(StringComparer.InvariantCultureIgnoreCase).ToList();
listBox1.Items.Add("Words in the input: " + String.Join(", ", list));
for (int i = 0; i < list.Count; i++)
{
list[i] = list[i].ToString();
listoriginal[i] = listoriginal[i].ToString();
resultList = listoriginal.Select(x => x.Replace(listoriginal[i], list[i])).ToList();
i++;
}
listBox1.Items.Add("Final result: " + String.Join(", ", resultList));
【问题讨论】: