黑马程序员技术交流社区

标题: 疑问,疑问 [打印本页]

作者: 刘长路    时间: 2012-9-18 17:31
标题: 疑问,疑问
string str = "abc    cba bac";(abc与cba之间有四个空格)
为什么经过string[] str1 = str.Split(cha);这一步执行语句之后得到的是三个空字符串的数组元素,而不是两个呢?
这四个空字符串应该是分隔符,第二个是空字符串数组元素,第三个又是分隔符,第四个又是空字符串数组元素,这样计算的话应该是两个空字符串数组元素啊

QB)L_8`O]5SFWQZ$01%7U2T.jpg (18.45 KB, 下载次数: 64)

QB)L_8`O]5SFWQZ$01%7U2T.jpg

B_(~BBOL`GX`{JLXJ(`I%I6.jpg (23.52 KB, 下载次数: 89)

B_(~BBOL`GX`{JLXJ(`I%I6.jpg

作者: 李后量    时间: 2012-9-18 18:00
得到的三个空字符串的数组元素没问题啊,你这么想吧,假设那4个空格是你的4根手指,那么会有几个手指缝呢?你上面说的那种想法怎么把第一个空格忽略了啊
作者: 杨进    时间: 2012-9-18 18:03
你的程序就是要把字符串"abc    cba bac"按空格进行分隔,返回值包括含有空字符串的数组元素。
换个角度考虑,把空格想象成f,也就是把字符串abcffffcbafbac按照f进行分隔,那么4个f被分隔之后中间是3个空字符串数组元素"",最终分隔出来:"abc","","","","cba","bac"。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2