黑马程序员技术交流社区
标题:
字符串
[打印本页]
作者:
王广彬
时间:
2012-8-15 23:02
标题:
字符串
class Sy
{
public static void main(String[] args)
{
String str="ds.dfs.sdf";
String[] ar=str.split(".");
for(int i=0;i<ar.length;i++){
System.out.println(ar[i]);
}
String[] a=str.split("s");
for(int i=0;i<a.length;i++){
System.out.println(a[i]);
}
}
}
为什么点不能作为分隔点,而其他字符就可以作为分割点?
作者:
黑马振鹏
时间:
2012-8-15 23:11
看视频 正则那一章:
API:
预定义字符类
. 任何字符(与行结束符可能匹配也可能不匹配)
作者:
杨健yj
时间:
2012-8-15 23:15
1)是点和|作为分隔符,出现此种错误,因为在在split(表达式)中,表达式其实是一个正则表达式,.和|是一种有特殊含义的字符,如果要使用此种字符作为分隔符,要使用转义字符加以转义方可得到正确结果。
2)如果想要使用多个分隔符,可以使用|分隔开,比如使用 @和?作为分隔符,即为String.split(”@|?);
3)使用String.split(””)时,往往容易忽略的一个地方就是分割的字符数组中,示例:“a/b/c/ / / /”.split(”/”)的长度不是6,而是3,因为分割后,java中会从后面开始检查所得的数组,把空的去掉,返回非空的3个数组。
作者:
杨彪
时间:
2012-8-15 23:16
1、假如用“.”作为分隔的话,必须是如下写法:String.split("\\."),这样才能正确的分隔开,不能用String.split(".");
2、假如用“”作为分隔的话,必须是如下写法:String.split("\\"),这样才能正确的分隔开,不能用String.split("");
“.”和“”都是转义字符,必须得加"\\";
3、假如在一个字符串中有多个分隔符,可以用“”作为连字符,比如:“acount=? and uu =? or n=?”,把三个都分隔出来,可以用String.split("andor");
作者:
左建飞
时间:
2012-8-15 23:19
楼主应该看看API文档,
public String[] split(String regex)
根据给定正则表达式的匹配拆分此字符串。
所以说这里的参数是一个正则表达式。而.在正则表达式中是特殊字符,表示任意字符。所以要加"\\."才能起到想要的效果。
作者:
贾成龙
时间:
2012-8-16 01:45
首先"."在正则中表示是任何字符(与行结束符可能匹配也可能不匹配)的意思!属于预定义字符类中。"."在java源文件中被字节码文件中的编译器所解释,会被解释为java字节码中的默认编码中的编码。解决这种问题的方式就是在"."前面加上\\就可以解决了,这种方式在java编码中是受保护的意思!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2