它看起来如此:
string[] lines = Regex.Split(line, @"\s+|(?!^)(?=\p{P})|(?<=\p{P})(?!$)");
Run Code Online (Sandbox Code Playgroud)
它分裂"ASds22d. asd ,156"为"ASds22d" + "." + "asd" + "," + "156".
这是"az","0-9"等字符串或"ac"和"4-5"等变体的问题.我的正则表达式分裂"a-z 1-9","a" + "-" + "z" + "1" + "-" + "9"但我需要"a-z" + "1-9".
有人能解决这个正则表达式吗?
我有收藏:
public class myList : List<myClass> { }
Run Code Online (Sandbox Code Playgroud)
并做:
foreach (myClass obj in myList) {
//...
if (some_condition) {
myList.Add(newObj); }
//...
}
Run Code Online (Sandbox Code Playgroud)
所以在2次迭代之前,我得到的错误如下:collection was changed.显然问题在于myList.Add(newObj);.
我如何组织这个循环以避免错误?请记住:我可以添加一些元素列表但永远不会删除.
我可以使用for循环与迭代器.但在这种情况下,我的代码看起来会更糟糕.也许这是一个更好的解决方案?