我正在使用Regex.Split
来编写一个PascalCaseParser,我希望一次从一个集合中选择两个项目。如何一次选择2个项目?
此示例代码演示。
void Main()
{
string pascalCasedString = "JustLikeYouAndMe";
var words = WordsFromPascalCasedString(pascalCasedString);
words.Dump();
}
IEnumerable<string> WordsFromPascalCasedString(string pascalCasedString)
{
var rx = new Regex("([A-Z])");
return rx.Split(pascalCasedString)
.Where(c => !string.IsNullOrEmpty(c))
// how to select 2 elements at a time?
;
}
以上代码的结果是:
IEnumerable<String> (10 items)
J
ust
L
ike
Y
ou
A
nd
M
e
收集的每两个元素构成一个结果,我想要的功能WordsFromPascalCasedString
屈服。
我的问题是:您一般会如何处理一次返回两个项目的要求。我很好奇,如果有任何有趣的非蛮力方法。
+1解决我的实际问题(感谢)...我还是会感兴趣,如果我问的问题得到一个答案,但... –
什么其他问题吗? –
是的,我真的没有试图找出解析器,我真的很想看到其他人想要使用linq样式选择,一次处理2个项目...但我再次感谢帮助 –