c#中分割字符串的方法
c#中分割字符串的方法
输出下面的结果:agc |
C#中使用string.Split方法来分割字符串的注意事项:
C#中使用string.Split方法来分割字符串的注意事项: string.Split给我们提供了非常灵活的使用方式, 但是如果使用不当, 会造成错误, 最近在做code review时, 看到大部分人这么使用: string s = "A|B|:|C:D"; string[] ss = s.Split("|:|".ToCharArray()); //ss[0]: A //ss[1]: B //ss[2]: //ss[3]: //ss[4]: C //ss[5]: D 其实他的本意是使用”|:|”将字符串分开的, 目标是为了得到数组: “A|B” 和 “C:D”, 但是没有直接找到Split(string)的重载, 所有就是用了ToCharArray(), 很显然, 得到的结果是错误的. 正确的用法为: string[] ss1 = s.Split(new[] {"|:|"}, StringSplitOptions.None); //ss1[0]: A|B //ss1[1]: C:D 后一个参数, 是标志是否自动remove empty的数据. 例如: "A|B|:|C:D|:|" 做分割时, 会返回三个数组, 该数组的最后一个元素是空"", 如果我们想过滤掉这些空的元素, 可以使用参数: StringSplitOptions.RemoveEmptyEntries 即: string[] ss1 = s.Split(new[] {"|:|"}, StringSplitOptions.RemoveEmptyEntries); 例子: s = "A|B|:|C:D|:|"; string[] ss1 = s.Split(new[] {"|:|"}, StringSplitOptions.RemoveEmptyEntries); //ss1[0]: "A|B" //ss1[1]: "C:D" ss1 = s.Split(new[] { "|:|" }, StringSplitOptions.None); //ss1[0]: "A|B" //ss1[1]: "C:D" //ss1[2]: "" |
原文: c#中分割字符串的方法
版权所有: 本文系米扑博客原创、转载、摘录,或修订后发表,最后更新于 2009-12-29 19:27:23
侵权处理: 本个人博客,不盈利,若侵犯了您的作品权,请联系博主删除,莫恶意,索钱财,感谢!
转载注明: c#中分割字符串的方法 (米扑博客)