《Java编程思想》String笔记

正则表达式

在正则表达式中,用 \d 表示一位数字,在其他语言中,\ 表示“我想要在正则表达式中插入一个普通的(字面上的)反斜线,请不要给它任何特殊的意义。”而在Java中,\ 的意思是“我要插入一个正则表达式的反斜线,想表示一位数字那么正则表达式应该是 \d。如果你想插入一个普通的反斜线,应该这样写 \\。不过换行符和制表符之类的东西只需要使用单反斜线:\n\t

在正则表达式中,用括号将表达式进行分组,用竖线 | 表示或操作

例如:+911".matches("(-|\\+)?\\d+") 这个正则表达式表示字符串的起始字符可能是一个 - 或 +,或者二者都没有(因为后面跟着 ? 修饰符)。因为字符 + 在正则表达式中有特殊的意义,所以必须使用 \\ 将其转义,使之成为表达式中的一个普通字符

String类还自带了一个非常有用的正则表达式工具——split() 方法,其功能是“将字符串从正则表达式匹配的地方切开。”

`例如    String  string="I impose some money and want to buy harness "; 
             System.out.println(Arrays.toString( string.split(" ")));  
            System.out.println(string.split(" "));  //这样返回的是字符串的地址
             System.out.println( Arrays.toString(string .split("\\W+")));
              System.out.println( Arrays.toString(string .split("e\\W+"))); 
  \\W(大写的)  表示一个非单词符号 所以会在一个空格或者其他非单词字幕的地方分割
	 \\w(小写的 表示一个单词字母
	 第四个 split() 表示“字母 e 后面跟着一个或多个非单词字符 表示 字母e后面跟着一个非单词符号
	 第3,4输出  [I, impose, some, money, and, want, to, buy, harness]
                [I impos, som, money and want to buy harness ]     

String.split() 还有一个重载的版本,它允许你限制字符串分割的次数。replaceFirst(),replaceAll()

 System.out.println( string .replaceFirst("h\\w+","filter")); 
 System.out.println( string .replaceFirst("h\\w","filter")); 
 System.out.println( string .replaceAll("impose|want|buy","go")); 
输出I impose some money and want to buy filter  
      I impose some money and want to buy filterrness    
      I go some money and go to go harness    
      由第一第二条语句可以看到   w 后面有+号时 会整个替换掉单词,  
      第三条由正则表达式的 | (或)  意思是 要匹配其中的一个或一个以上
                                匹配了多个则将多个都替换  

创建正则表达式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值