黑马程序员技术交流社区
标题:
关于空字符串没弄明白,""与" "
[打印本页]
作者:
龚振 龚振 龚振
时间:
2012-4-6 19:44
标题:
关于空字符串没弄明白,""与" "
本帖最后由 klas2008 于 2012-4-6 19:43 编辑
day25中,这里是将String中四个ip地址按照自然顺序的ip地址段进行排序。
public static void ipSort(){
String ip = "192.68.1.254 102.49.23.013 10.10.10.10 2.2.2.2 8.109.90.30";
ip = ip.replaceAll("(\\d+)","00$1");
System.out.println(ip);
ip = ip.replaceAll("0*(\\d{3})","$1");
System.out.println(ip);
String[] arr = ip.split("");
TreeSet<String> ts = new TreeSet<String>();//有排序
for(String s : arr){
ts.add(s);
}
for(String s : ts){
System.out.println(s);//.replaceAll("0*(\\d+)","$1")
}
复制代码
如上,在第10行如果是" "的话结果为图一
如果我直接写了"",结果成了图二,我想问的是第二种情况是怎么个切割方法呢?
图一.jpg
(7.96 KB, 下载次数: 58)
下载附件
2012-4-6 19:37 上传
图一
图二.jpg
(2.22 KB, 下载次数: 49)
下载附件
2012-4-6 19:37 上传
图二
作者:
τ、高童鞋ゝ
时间:
2012-4-6 19:58
分隔符为“.”(无输出),“|”(不能得到正确结果)转义字符时,“*”,“+”时出错抛出异常,都必须在前面加必须得加"\\",如split(\\|);
如果用"\"作为分隔,就得写成这样:String.split("\\\\"),因为在Java中是用"\\"来表示"\"的,字符串得写成这样:String Str="a\\b\\c";
转义字符,必须得加"\\";
如果在一个字符串中有多个分隔符,可以用"|"作为连字符,比如:String str="Java string-split#test",可以用Str.split(" |-|#")把每个字符串分开;
作者:
τ、高童鞋ゝ
时间:
2012-4-6 20:19
" " 中间加了空格的是以空白字符分割
"" 中间不加空格的是转义字符
作者:
τ、高童鞋ゝ
时间:
2012-4-6 21:31
""的长度是零" "的长度是1
一个是空串,一个是空格的字符串
作者:
龚振 龚振 龚振
时间:
2012-4-7 00:59
嗯。""和" "的区别。
原来在""下会把字符串全部逐个切割,而" "就是按照单个空格切割了。
作者:
pray
时间:
2014-4-26 03:23
很好!!(此回复虽然仅有两个字,却深刻地表达了回复人的深深情感,可谓言简意赅,一字千金,字字扣人心弦!再加上以感叹号收尾,点睛之笔,妙笔生花,意境之深远,令人回味无穷!)
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2