如何在字符串数组未知的情况下删除文本?

时间:2012-11-17 19:54:37

标签: c# arrays string

我知道如果我知道它们是什么,如何从数组中删除元素。

此数组中的“客户端”是用户输入的字符串。我想删除前两个单词,但我不知道它们会是什么。它总是不同。

string[] words = Receipt.Split(' ',',','-');

感谢。

2 个答案:

答案 0 :(得分:4)

string[] words = Receipt.Split(' ',',','-').Skip(2).ToArray();

答案 1 :(得分:3)

如果总是想要删除前两个,LINQ可能提供了最简单的方法:

string allButFirstTwoWords = words.Skip(2).ToArray(); // Or ToList, or nothing...

请注意,您无法删除"数组本身的值,因为数组在创建后始终具有固定大小。上面的代码创建了一个 new 数组,其中除前两个单词外都有。

当然,你可以一次完成所有这些:

string[] words = Receipt.Split(' ', ',', '-').Skip(2).ToArray();

我个人通常使用List<string>代替,因为它更灵活:

List<string> words = Receipt.Split(' ', ',', '-').Skip(2).ToList();

如果您只是要迭代它,则根本不需要将其转换为数组或列表:

IEnumerable<string> words = Receipt.Split(' ', ',', '-').Skip(2);