String.split("","")与StringUtil.split("","")的区别
来源:互联网 发布:seo在哪里可以自学 编辑:程序博客网 时间:2024/06/05 11:05
public static void main(String[] args) {
String google="www.google.cn";
String [] gs=google.split(".");
for(int i=0; i<gs.length; i++){
System.out.println(gs[i]);
}
}
测试结果却什么也没输出,而且gs.length==0。后来看了下java.lang.String类中的split方法的源码。
public String[] split(String regex) {
return split(regex, 0);
}
上面这个split方法调用了本类中的overload方法:
public String[] split(String regex, int limit) {
return Pattern.compile(regex).split(this, limit);
}
split调用的Pattern中的split方法,java的api中介绍说参数regex是定界正则表达式(the delimiting regular expression_r_r),并不是一个简单的分割字符。 “.”在正则表达式中有特殊含义,使用时要转义:”\\.”。所以上面代码改为:
public static void main(String[] args) {
String google="www.google.cn";
String [] gs=google.split("\\.");
for(int i=0; i<gs.length; i++){
System.out.println(gs[i]);
}
}
String google="www.google.cn";
String [] gs=google.split(".");
for(int i=0; i<gs.length; i++){
System.out.println(gs[i]);
}
}
测试结果却什么也没输出,而且gs.length==0。后来看了下java.lang.String类中的split方法的源码。
public String[] split(String regex) {
return split(regex, 0);
}
上面这个split方法调用了本类中的overload方法:
public String[] split(String regex, int limit) {
return Pattern.compile(regex).split(this, limit);
}
split调用的Pattern中的split方法,java的api中介绍说参数regex是定界正则表达式(the delimiting regular expression_r_r),并不是一个简单的分割字符。 “.”在正则表达式中有特殊含义,使用时要转义:”\\.”。所以上面代码改为:
public static void main(String[] args) {
String google="www.google.cn";
String [] gs=google.split("\\.");
for(int i=0; i<gs.length; i++){
System.out.println(gs[i]);
}
}
在java.lang包中有String.split()方法,返回是一个数组
1、如果用“.”作为分隔的话,必须是如下写法:String.split("\\."),这样才能正确的分隔开,不能用String.split(".");
2、如果用“|”作为分隔的话,必须是如下写法:String.split("\\|"),这样才能正确的分隔开,不能用String.split("|")。"|" 分隔串时虽然能够执行,但是却不是预期的目的,"\\|"转义后即可得到正确的结果。
“.”和“|”都是转义字符,必须得加"\\";
3、如果在一个字符串中有多个分隔符,可以用“|”作为连字符,比如:“acount=? and uu =? or n=?”,把三个都分隔出来,可以用String.split("and|or");
4、+ * 不是有效的模式匹配规则表达式,用"\\+" "\\*"转义后即可得到正确的结果;
5、如果想在串中使用"\"字符,则也需要转义.首先要表达"aaaa\bbbb"这个串就应该用"aaaa\\bbbb",如果要分隔就应该这样才能得到正确结果:String[] aa = "aaa\\bbb\\bccc".split("\\\\")。
String.split("正则表达式","限制");
StringUtils.split("字符串","隔断符");
jdk文档上有
1、如果用“.”作为分隔的话,必须是如下写法:String.split("\\."),这样才能正确的分隔开,不能用String.split(".");
2、如果用“|”作为分隔的话,必须是如下写法:String.split("\\|"),这样才能正确的分隔开,不能用String.split("|")。"|" 分隔串时虽然能够执行,但是却不是预期的目的,"\\|"转义后即可得到正确的结果。
“.”和“|”都是转义字符,必须得加"\\";
3、如果在一个字符串中有多个分隔符,可以用“|”作为连字符,比如:“acount=? and uu =? or n=?”,把三个都分隔出来,可以用String.split("and|or");
4、+ * 不是有效的模式匹配规则表达式,用"\\+" "\\*"转义后即可得到正确的结果;
5、如果想在串中使用"\"字符,则也需要转义.首先要表达"aaaa\bbbb"这个串就应该用"aaaa\\bbbb",如果要分隔就应该这样才能得到正确结果:String[] aa = "aaa\\bbb\\bccc".split("\\\\")。
String.split("正则表达式","限制");
StringUtils.split("字符串","隔断符");
jdk文档上有
0 0
- String.split("","")与StringUtil.split("","")的区别
- String.split("","")与StringUtil.split("","")的区别
- StringTokenizer类与String.split()的区别
- String.split和StringUtils.split的区别
- python str.split() 与 split(' ') 的区别
- String.split("")、String.split("|") 和 String.toCharArray() 的区别
- split 与tokenizer的区别
- slice与split的区别
- Regex.Split 与String.Split 使用小结
- String的split方法与正则表达式
- String.split的用法
- string.split的陷阱
- String.split()的用法
- String.split()的用法
- C# string 的 Split
- String的Split()
- String 的split()方法
- String的Split
- Xcode5.x编译64位应用时的出错问题
- linux man 手册中的下划线字段
- hadoop搭建好后出现的format异常
- perl控制流介绍(if条件,while,for循环,foreach)
- B-Tree(Balance Tree)的Java实现
- String.split("","")与StringUtil.split("","")的区别
- 静态变量与实例变量区别
- 关于CRF++补充说明
- ie6、ie7下JSON.parse JSON未定义的解决方法
- Eclipse进行clean或启动的时候长时间Building Workspace
- Windows下反编译(Decompile)CHM文件及注意事项
- hdu 3183 A Magic Lamp(RMQ或单调队列)
- Centos下Nginx+Apache+Mysql+Memcache实现多负载均衡与Session共享
- XE6 跨进程获取SysListView32