8.1.6 正则表达式及字符串的替换与分解
来源:互联网 发布:js中display的值 编辑:程序博客网 时间:2024/05/18 02:52
8.1.6 正则表达式及字符串的替换与分解
1.正则表达式
2.字符串的替换
3.字符串的分解
1.正则表达式
正则表达式是一些具有特殊意义字符的字符串,这些字符串称作正则表达中的元字符
"\\dcat"/*\\d就是有特殊意义的元字符,代表0~9之间任何一个。字符串"0cat"、"1cat"、"2cat"···"9cat"都是正则表达式"\\dcat"匹配的字符串*/
字符串对象调用public boolean matches(String s)可以判断当前字符串对象是否和参数s指定的正则表达式匹配
//例子:regex = "[159]ABC" //"1ABC"、"5ABC"、"9ABC"都是regex匹配的字符串
[abc]:代表a、b、c中的任何一个;
[^abc]:代表除了a、b、c以外的任何字符;
[a~zA~Z]:代表英文字母(包括大小写)中的任何一个;
[a~d]:代表a~d中的任何一个;
中括号里允许嵌套中括号,可以进行并、交、差运算,例如:
[a~d[m~p]]:代表a~d,或者m~p中的任何字符(并);
[a~z&&[def]]:代表d、e、f中的任何一个(交);
[a~f&&[^bc]]:代表a、d、e、f(差);
正则表达式可以使用修饰限定符:
regex = “hello[2468]?”;"hello"、"hello2"、"hello4"、"hello6"、"hello8"都与b正则表达式regex匹配的字符串
public static void main(String[] args) {// TODO Auto-generated method stubString string = "[a-zA-Z]+";System.out.println("请输入字符并按回车键结束");Scanner scanner = new Scanner(System.in);String string2 = scanner.nextLine();if (string2.matches(string)) {System.out.println("“"+string2 + "”中的字符都是英文字母");}else {System.out.println("“"+string2 + "”中的字符不是英文字母");}}}/*请输入字符并按回车键结束wwwwwwwwwww“wwwwwwwwwww”中的字符都是英文字母*/
2.字符串的替换
字符串对象调用public String replaceAll(String regex,String replacement)方法返回一个字符串,该字符串是将当前字符串中所有和参数regex指定的正则表达式匹配的自字符串用参数replacement指定的字符串替换后的字符串
String s = "123hello789bird".replaceAll("[a-zA-Z]+","你好");//s=123你好789你好
public class Example8_10 {public static void main(String[] args) {// TODO Auto-generated method stubString string = "欢迎大家访问http://www.xiaojiang.cn了解、参观公司";String string2 = "(http://|www)\56?\\w+\56{1}\\w+\\56{1}\\p{Alpha}+";System.out.printf("替换\n\"%s\"\n中的网站链接信息后得到的字符串:\n", string);string = string.replaceAll(string2, "******");System.out.println(string);String money = "89,235,678$";System.out.println(money + "转化为数字:");String string3 = money.replaceAll("[,\\p{Sc}]", "");// \\p{Sc}可以匹配任何字符Long number = Long.parseLong(string3);System.out.println(number);}}/*替换"欢迎大家访问http://www.xiaojiang.cn了解、参观公司"中的网站链接信息后得到的字符串:欢迎大家访问http://www.xiaojiang.cn了解、参观公司89,235,678$转化为数字:89235678*/
3.字符串的分解
public String[ ] split(String regex)字符串调用该方法的时候,使用参数指定的正则表达式regex作为分隔标记分解出其中单词,并将分解的单词存放在字符串数组中。
public class Example8_11 {public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println("一行文本:");Scanner reader = new Scanner(System.in);String string = reader.nextLine();String string2 = "[\\s\\d\\p{Punct}]+";String words[] = string.split(string2);for (int i = 0; i < words.length; i++) {int m = i + 1;System.out.println("单词" + m + ":" + words[i]);}}}
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco}p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #00cf90}一行文本:
哈哈哈123哈手把手samdnsad
单词1:ha
单词2:ha
单词3:哈哈哈
单词4:哈手把手samdnsad
阅读全文
0 0
- 8.1.6 正则表达式及字符串的替换与分解
- 正则表达式替换字符串
- JavaScript_正则表达式小试牛刀-字符串的替换
- 简单的正则表达式方法字符串替换
- 正则表达式替换指定位置的字符串
- UltraEdit的正则表达式查找与替换
- java正则表达式替换字符串
- EditPlus正则表达式替换字符串
- 正则表达式 替换字符串 [javascript]
- notepad2正则表达式替换字符串
- Notepad++ 正则表达式替换字符串
- Oracle正则表达式替换字符串
- Java 正则表达式--字符串匹配、切割、与替换
- Java 正则表达式--字符串匹配、切割、与替换
- asp常用的正则表达式实现字符串的替换
- C#中 正则表达式进行忽略大小写的字符串替换
- C#中正则表达式进行忽略大小写的字符串替换
- Linux C 支持正则表达式的字符串替换函数
- Eyes never lie! hand eye coordination patterns analysis for text-graph Separation
- 一起SQL引发OOM的解决思路与过程
- 程序猿如何快速高效的改 bug?改bug都有哪些技巧?
- python3学习-pickle模块
- 《python语言简介》
- 8.1.6 正则表达式及字符串的替换与分解
- Recycler的使用
- codeforces B. XK Segments
- 自顶向下 逐步求精
- 爬虫笔记-使用python爬取豆瓣短评
- 动态设置video的宽高的方法,js设置和CSS设置
- redis的一些性能测试,主要是keys和smembers
- linux的一些操作(不断更新,随时补充)
- python3学习-Queue模块