我有一个字符串,如下所示。
字符串样本=“class0 .calss1 .class2 .class3.class4 .class5 class6 .class7”;
我需要从这个示例字符串中创建一个 WORDS 列表。
WORD 是一个以句点开头并以以下结尾的字符串:
- 一个空格或
- 另一个时期或
- 字符串结尾
注意:这里的关键点是 - 拆分基于两个标准 - 句点和空格
我有以下程序。它工作正常。但是,是否有更简单/更有效/简洁的方法使用LINQ
or Regular Expressions
?
代码
List<string> wordsCollection = new List<string>();
string sample = " class0 .calss1 .class2 .class3.class4 .class5 class6 .class7";
string word = null;
int stringLength = sample.Length;
int currentCount = 0;
if (stringLength > 0)
{
foreach (Char c in sample)
{
currentCount++;
if (String.IsNullOrEmpty(word))
{
if (c == '.')
{
word = Convert.ToString(c);
}
}
else
{
if (c == ' ')
{
//End Criteria Reached
word = word + Convert.ToString(c);
wordsCollection.Add(word);
word = String.Empty;
}
else if (c == '.')
{
//End Criteria Reached
wordsCollection.Add(word);
word = Convert.ToString(c);
}
else
{
word = word + Convert.ToString(c);
if (stringLength == currentCount)
{
wordsCollection.Add(word);
}
}
}
}
}
结果
foreach (string wordItem in wordsCollection)
{
Console.WriteLine(wordItem);
}
参考: