你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:技术专栏 / Java专栏
Java正则表达式初学者指南(2)
 
二、split方法
 
split方法使用正则表达式来分割字符串,并以String数组的形式返回分割结果。split有两种重载形式,它们定义如下:
 
public String[] split(String regex)
public String[] split(String regex, int limit)
 
    如下面的代码将使用split的第一种重载形式来分割HTTP请求头的第一行,代码如下:
 
String s = "GET /index.html HTTP/1.1";
String ss[] = s.split(" +");
for(String str: ss)
System.out.println(str);
 
输出结果:
GET
/index.html
HTTP/1.1
 
    在使用split的第一种重载形式时应注意,如果分割后的字符串最后有空串,将被忽略。如使用正则表达式\d来分割字符串a0b1c3456时,得到的数组的长度为3,而不是7。
在split的第二种重载形式中有一个limit参数,要分三种情况讨论:
 
1.       大于0: 如limit的值为n,那么将对正则表达式使用n-1次,下面的代码:
 
String s = "a0b1c3456";
   String ss[] = s.split("\\d", 3);
    for(String str: ss)
System.out.println(str);
 
输出结果:
 
a
b
c3456
 
从输出结果可以看出,程序只对" a0b1c3456"使用了两次正则表达式,也就是在少扫描完字符'1'后,不管后面有没有满足条件的字符串,都将后面的字符串作为一个整体来作为返回数组的最后一个值。
 
2.       小于0: 不忽略结尾的空串。也就是上面的例子返回数组的长度应该是7,而不是3。
3.       等于0:这是默认值,相当于split的第一种重载形式。
 
 
三、replaceAll replaceFirst方法
 
为两个方法的定义如下:
public String replaceAll(String regex, String replacement)
public String replaceFirst(String regex, String replacement)
 
这两个方法用replacement替换当前字符串中和regex匹配的字符串。使用方法很简单,这里不再详述,感兴趣的读者可以参考相关的文档。
 
对于Java中正则表达式的详细内容,请参考JDK文档。
  推荐精品文章

·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录
·2023年10月目录
·2023年9月目录 
·2023年8月目录 
·2023年7月目录
·2023年6月目录 
·2023年5月目录
·2023年4月目录 
·2023年3月目录 
·2023年2月目录 
·2023年1月目录 

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089