我正在尝试根据每个字符串中的单词数过滤字符串列表。我假设您将修剪字符串末尾的任何空格,然后计算字符串中剩余的空格数,这样 WordCount = NumberOfSpaces + 1。这是最有效的方法吗?我知道对于基于字符数的过滤,以下工作正常......只是无法弄清楚如何使用 C#/LINQ 简洁地编写它。
if (checkBox_MinMaxChars.Checked)
{
int minChar = int.Parse(numeric_MinChars.Text);
int maxChar = int.Parse(numeric_MaxChars.Text);
myList = myList.Where(x =>
x.Length >= minChar &&
x.Length <= maxChar).ToList();
}
计算单词的任何想法?
更新:这就像一个魅力......谢谢马修:
int minWords = int.Parse(numeric_MinWords.Text);
int maxWords = int.Parse(numeric_MaxWords.Text);
sortBox1 = sortBox1.Where(x => x.Trim().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries).Count() >= minWords &&
x.Trim().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries).Count() <= maxWords).ToList();