java编程split(".")
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java编程split(".")相关的知识,希望对你有一定的参考价值。
如题,2012.0
我要把2012和0分开,想用中间的“.”作为分隔符,但是貌似split(".")不对
求高手告诉我split(".")正确的写法是什么
split("\\\\.")
在split("里面放入双斜杆.")就能分割了,应为.是转译字符。
因为里面是正则表达式。
split函数中的参数是正则表达式,当然也可以是普通字符
一普通字符:
String ip = "192.168.1.1";
String a[] = ip.split("\\\\.");
for(int i=0;i<a.length;i++)
System.out.println(a[i]);
String ipName = ip.replaceAll("\\\\.", "-");
System.out.println(ipName);
String[] ipArr = ipName.split("-");
for(int i=0;i<ipArr.length;i++)
System.out.println(ipArr[i]);
split里面传入的是正则表达式。不是分隔符哦
你可能理解成传入"."就意味着是用"."去做分隔符了。
其实不是这样的。
正确是split("\\.")
也就是转义一下。在正则表达式里面"."表示任意字符。
具体你baidu一下。正则表达式教程,就明白为什么了 参考技术B split("\\.")
试试
因为里面是正则表达式本回答被提问者和网友采纳 参考技术C 在split("里面放入双斜杆.")就能分割了,应为.是转译字符 参考技术D split("\\."),试下,应该没错,原理是split(reg)里reg应该是正则
JAVA的分割方法split的分割规则是怎么的??原理?
String tes="boo:and:foo";
System.out.println("把tes按:分割为5组即一个数组为5个元素");
String[] d=tes.split("o",5);
for(String element: d)
System.out.println(element);
结果:是"b", " ", ":and:f", " " ," "
为什么这么分割呢?
这样想:"a,b,,,,,,,c,d",这个中间这么多逗号,如果以逗号分割,中间就会出先多个空
后面的也是一样的。 结果中倒数第二个空时后面两个o中间的空,
最后第一个空,时最后一个o后面的空
你可以试试在最后一个o后面加一个字符,这样结果中的最后一个空就变成了这个字符 。
另外如果你限制数组长度为4,String[] d=tes.split("o",4);,
输出的结果就会是这样:'b','',':and:f','o',最后一个o就不会被认为是分隔符了。 参考技术A 因为你是按照o分割的 不是: 你按照o当然是那个结果
public static void main(String[] args)
String aa= "aa:bb:cc:dd";
String [] aaa=aa.split(":");
String [] bbb=aa.split(":",2);
String line="";
for(int i=0;i<aaa.length;i++)
line=line+aaa[i]+"\t";
System.out.println(line);
line="";
for(int i=0;i<bbb.length;i++)
line=line+bbb[i]+"\t";
System.out.println(line);
按这个运行下 你就应该懂了
结果如下
aa bb cc dd
aa bb:cc:dd 参考技术B 自己写错了啊哥们,要细心,
程序员要细心啊!
以上是关于java编程split(".")的主要内容,如果未能解决你的问题,请参考以下文章
java编程将",a,b,c,e,f,,,"以逗号为分隔符切分成字符串组成的数组,并推断数组
????????????????????? split??????: java split???????????????.??? ?????? "|" "*"
理解 Java 中的正则表达式:split("\t") vs split("\\t") - 它们啥时候都可以工作,啥时候应该使用它们