黑马程序员技术交流社区
标题:
字符串分割方法split的问题
[打印本页]
作者:
蔡志涛
时间:
2013-6-13 17:29
标题:
字符串分割方法split的问题
本帖最后由 蔡志涛 于 2013-6-13 23:33 编辑
下面的代码,为什么最后屏幕输出的结果是4,也就为什么被分割成了4块,而且为什么其中一个块是空格?
string dateTime = "2000--08-08";
string[] strArray = dateTime.Split(new char[] { '-' });
Console.WriteLine(strArray.Length);
作者:
甘斌斌
时间:
2013-6-13 17:39
2000--08-08
第一块2000。结果为--08-08.
到了第二步变-成了0。结果为08-08.
第三步08.一此类推,所以就是四块哦。
作者:
王鹏程
时间:
2013-6-13 17:50
2000--08-08 你是按“-”分割 ,第一块是2000,第二块是"-""-"中间那部分,因为里面啥也没有所以用空格代替,第三部分是08,第四部分是08
作者:
ljh4282158
时间:
2013-6-13 17:52
索引从 0 开始、 你要截取 “—” 从2开始数,“—”是在4的位置
作者:
江湖一浪人
时间:
2013-6-13 20:19
发表于 2 小时前 | 只看该作者
2000--08-08 你是按“-”分割 ,第一块是2000,第二块是"-""-"中间那部分,因为里面啥也没有所以用空格代替,第三部分是08,第四部分是08
正解!
作者:
蔡志涛
时间:
2013-6-13 21:01
王鹏程 发表于 2013-6-13 17:50
2000--08-08 你是按“-”分割 ,第一块是2000,第二块是"-""-"中间那部分,因为里面啥也没有所以用空格代替, ...
恩,谢谢了
作者:
彭康
时间:
2013-6-13 21:16
strArray[0] =2000
strArray[1] =""
strArray[2] =08
strArray[3] =08
作者:
陈壹
时间:
2013-6-14 13:34
用split分割字符串是,假使两个分隔符相连或字符串最后一个字符为分隔符,系统在分割时都会相应产生一个空字符成为数组的成员,在这种情况下使用split重载中的
StringSplitOptions.RemoveEmptyEntries 指令,自动清除空字符,以你的例子写法是
string[] strArray = dateTime.Split('-',StringSplitOptions.RemoveEmptyEntries );
作者:
popoluno
时间:
2013-6-14 14:19
你在2000和08之间有两个-,所以分割开来是-和-中间的值是空格,结果是这样的,第一部分是2000第二部分按照第一个-分割后产生一个"",然后再按下一个-分割出08,最后一个-再分割出最后一部分08
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2