------- <a href="http://edu.csdn.net/heima" target="blank">android培训</a>、<a href="http://edu.csdn.net/heima" target="blank">java培训</a>、期待与您交流! ----------
由于最后一天的正则表达式主要的特性还是封装的对字符串的操作,所以就综合到字符串这篇日记里来,这样更能体现出正则表达式的简便。
String 对象是不可变的。每一个修改String值的方法,实际上都是重新创建了一个全新的String对象。
StringBuiler对象是不可变的,我们可以给String对象加任意多的别名,因为String对象具有只读特性.
StringBuilder线程不安全,StringBuffer是线程安全的,但是StringBuilder由于是线程不安全的所以速度上有优势。
public class Test{
public String implicit(String[]fields){
String s="";
for(int i=0;i<fields.len){
s=s+i;
}
}
public String explicit(String[]fields){
StringBuilder result=new StringBuilder();
for(int i=0;i<fields[].length;i++){
result.append(fields[i]);
}
}
}
打印StringBuilder的对象时,要调用toString()方法,比如System.out.println(result.toString());
正则表达式是一种强大而灵活的文本处理工具。使用正则表达式,可以构造复杂的文本模式,并对输入的字符串进行搜索。一旦找到了匹配这种模式的部分,我们就可以随心所以的进行处理。正则表达式提供了一种完全通用的方式,能够解决各种字符串处理相关的问题。匹配,选择,编辑以及验证。String自带的正则表达功能相对来说是比较弱的,所以要用到功能强大的正则表达式对象,需要导入java.util.regex包,然后用static Pattern.compile()方法来变异你的正则表达式即可。如果我们有其他语言的经验,我们会发现java上面的正则表达式是跟其他语言有一些小小的区别的,比如java对反斜线\的不同处理。
在其他语言中,\\表示“我想要在正则表达式中插入一个普通的反斜线。”而在java中,\\的意思是我要插入一个正则表达式的反斜线,所以其后的字符具有特殊的意义,如果你想表示一个数字,那么正则表达式应该是\\d,如果你想插入一个普通的反斜线,则应该是\\\\,不过换行和制表符之类的东西只需使用单反斜线。
public class Test{
//这个是利用String自带的正则表达功能
public static void main(String[]args){
System.out.println("-1234").matches("-?\\d+");//这个是匹配功能
System.out.println(Arrays.toString("Haa uuu eee".split(" ")));//这个是字符的分割功能
}
}
接下来我们说regex包,我们可以把想要的检索的字符串传入Pattern对象的matcher方法,matcher方法会产生一个Matcher对象,他又很多功能可以用。接下来写一个小例子来做演示import java.util.regex.*;
public class Test{
public static void main(){
Pattern p=Pattern.compile("\\d+");
Matcher m=p.matcher("456 23 5463 1213");
while(m.find()){
System.out.println(m.group()+"at positions"+m.start()+(m.end()-1);
}
}
}
//在匹配操作成功之后,start()返回先前匹配的起始位置的索引,而end()返回所匹配的最后字符的索引加1的值。Matcher.find()方法可以用来查找多个陪陪,find()像迭代器那样前向便利输入字符串。第二个find()能够接收一个整数作为参数,该正数表示字符串中字符的为hi,并以其作为搜索的起点
------- <a href="http://edu.csdn.net/heima" target="blank">android培训</a>、<a href="http://edu.csdn.net/heima" target="blank">java培训</a>、期待与您交流! ----------
详细请查看:<a href="http://edu.csdn.net/heima" target="blank">http://edu.csdn.net/heima/</a>
分享到:
相关推荐
2013黑马训练营全套net视频 30G 网盘下载
黑马训练营.net第高清完整版版74天
黑马程序员——Android移动开发源码
黑马训练营.net第12期74天完整版(高清绝密版)
该系列视频是黑马训练营.Net学习视频,仅供大家分享。。
黑马训练营红孩子商城APP完整源码(客户端和服务端) 亲测可用 注意改IP
通达信指标公式源码软件 黑马图腾——中长线操作,利润可观.doc
黑马训练营49期javaEE 培训视频,高清视频,配套资料齐全。 课程目录 01-JavaSE知识(学习27天) 02-Web前端知识(学习5天) 03-MySql数据库与JDBC(学习3天) 04-JavaWeb知识(学习12天) 05-JavaWeb企业实战项目(学习6天)...
自己写的作业,没有完成!打印100次“欢迎您来黑马训练营学习”
kotlin的学习, kotlin非空判断 字符串 四种函数表达式
通达信指标公式源码捕捉大黑马的好指标——黑马柱.doc
黑马程序员训练营基础测试 ios ios自荐信模板和iosexam
黑马软件训练营.NET全套教学视频,仅需一个积分,欢迎下载。
黑马程序员训练营基础测试,北京中关村黑马程序员的基础测试试题,随机产生
黑马程序员训练营CSDN创始人 蒋涛2010-12-09
冒泡代码 黑马程序员,2月3号开学,努力呀,yy
8. 黑马旅游网——旅游线路的详情展示-附件资源
黑马程序员入学Java知识——精华总结
中关村“黑马程序员“训练营整理的java就业面试题宝典