JavaCookbook-3.字符串与4.正则表达式
来源:互联网 发布:上海plc编程培训 编辑:程序博客网 时间:2024/06/09 17:25
Java的字符串是一个预定义的类型,也就是说一个字符串并不是一个数组,而是一个对象。需要注意的是,java的字符串是一个不可修改的字符串,所有对他的修改最后都生成了新的字符串。同时String类也是一个final类,所以不可对String类进行继承,来借以对它进行修改。如果要修改字串本身,可以采用StringBuilder(StringBuffer)对象。
一般,我们常用substring、StringTokenizer来分解字符串,StringTokenizer类实现了迭代器模式和枚举接口。
StringTokenizerst = new StringTokenizer("wang xiaohu, is a good man!","!,"); while (st.hasMoreTokens()) { System.out.println(st.nextToken()); }
参数" !,"指定了字符串分割符,如果没有这个参数,字符串以空格为分隔符,分割后的字符串包括标点符号。在使用+号连接字符串时,编译器将自动构建一个StringBuiler对象,并且调用其append方法。StringBuilder对象在使用时,其所有的操作都是返回本身,这样对效率影响比较低。
使用堆栈来翻转字符串的方法为:
StringTokenizerst = new StringTokenizer("wang xiaohu, is a good man!","!,"); Stack s = new Stack(); while (st.hasMoreTokens()) { s.push(st.nextElement()); } while (!s.empty()) { System.out.print(s.pop()+""); }
正则表达式已经被列入Java1.4之后的运行环境,其语法不再赘述。使用方法为:1.测试模式,测试更定字符串是否符合正则表达式。2.查找匹配文本。3.替换匹配文本。例程如下:
1. 测试模式,测试更定字符串是否符合正则表达式。
"g8".matches("^g[a-zA-Z0-9]$")
2. 查找匹配文本
Pattern p =Pattern.compile("(.*), (.*)"); Matcher m = p.matcher("Smith,John Adams, John quincy"); System.out.println(m.groupCount()); if(m.find()) { System.out.println(m.group(1)+m.group(2)); }
3.替换匹配文本。一般文本编辑器命令中,左手边是替换模式,右手边是替换文本。
参考文章
1. JavaCookbook-1.编译、运行和调试
- JavaCookbook-3.字符串与4.正则表达式
- 字符串与正则表达式
- 字符串与正则表达式
- 字符串与正则表达式
- 字符串与正则表达式
- python 字符串与正则表达式
- python字符串与正则表达式
- 13 - 字符串与正则表达式
- 字符串规则检测与正则表达式
- 第三章 字符串操作与正则表达式
- Python 第十四周 字符串与正则表达式
- python之路-------字符串与正则表达式
- php的字符串操作与正则表达式
- Split函数,正则表达式与空字符串
- JavaScript 正则表达式与字符串查找
- JavaScript 字符串与正则表达式系列总结
- python 字符串匹配与正则表达式
- C#基础之字符串与正则表达式
- 记录一下八款开源 Android 游戏引擎
- UVa 10034 Freckles 解答
- STL之insert_iterator
- WPF登录窗体
- 数据库建表的十四个技巧
- JavaCookbook-3.字符串与4.正则表达式
- Linux内核调试技术
- 程序员学习之路
- 获取sqlserver数据库中所有库、表、字段名的方法
- Linux之Vim使用
- 协调多个对象之间的交互——中介者模式(一)
- JAVA中int、String的类型转换
- 网站特殊字体处理
- Android培训---支持不同的平台版本