黑马程序员技术交流社区

标题: String切割问题 [打印本页]

作者: &天马星空ぁ    时间: 2016-9-27 10:00
标题: String切割问题

String s="王宝强1234";
如果切割"王宝强"形成的字符串数组  第一个元素是空字符串为什么
怎样才能避免
作者: NOTHIING    时间: 2016-9-27 10:10
因为王宝强前面没字符,在他前面加字符就行了
作者: &天马星空ぁ    时间: 2016-9-27 10:59
NOTHIING 发表于 2016-9-27 10:10
因为王宝强前面没字符,在他前面加字符就行了

我就是想知道在字符串的起始位置切割为什么会形成空字符串  怎么做,然后切割起始位置才能避免形成空字符串
作者: 459374998    时间: 2016-9-27 11:59
好像不可以,如果从第一个字符开始切,那就会自动补上一个空。不知道为啥。
作者: Fate_stay    时间: 2016-9-27 17:00
没听懂什么意思,可以把 报错的地方发出来嘛
作者: &天马星空ぁ    时间: 2016-9-27 18:06
Fate_stay 发表于 2016-9-27 17:00
没听懂什么意思,可以把 报错的地方发出来嘛

没有报错  我就是想知道一个字符串的第一个字符被切割后形成的数组,为什么第一个数组元素是空值
作者: 叫我宁采臣    时间: 2016-9-27 19:52
角标要从0开始不是从1
作者: CreScert    时间: 2016-9-27 21:38
叫我宁采臣 发表于 2016-9-27 19:52
角标要从0开始不是从1

角标从1开始,就是从“宝”开始向后寻找了,会找不到“王宝强”这三个字,直接打印出原数组
作者: 18001105207    时间: 2016-9-27 21:38
666666666666666
作者: CreScert    时间: 2016-9-27 21:41
楼主,要常问问度娘,用split()分隔字符串,得到的字符串数组第一个为什么是空白的
作者: IceLoveInFire丶    时间: 2016-9-27 21:49
今天学会一个使用正则获取的功能,比较好用,那天那个问题可以轻松解决~
再也不用[^0-9.]切割了~
作者: IceLoveInFire丶    时间: 2016-9-27 21:53
解释一下楼主的问题   比如你要切割一个String s = "1a2b3c" ;  字符串,使用   String [] str = s.split("[0-9]" ;
切割  ,结果str 会变成一个长度为4的字符串数组。原因是str = {  ,a, b ,c };
第一个元素为一个空的,为什么会存在这个东西,怎么解决。
作者: zhaokun    时间: 2016-9-27 22:38
闹不懂  楼主把原码发出来看看
作者: wo1026756529    时间: 2016-9-28 00:17
看了一下底层代码不懂....




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