正则表达式(三)-正则表达式的替换

将符合规则的部分,都使用新的字符串来进行替换
注意:只用matcher()函数中,正则表达式只要有一个源字符串中的符号,不满足正则表达式,就会返回false..其他的像分组,替换,不满足正则表达式条件的时候会不停止地去查源字符串.一直查询到源字符串最后
package zhengze;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

import org.omg.CORBA.PUBLIC_MEMBER;

public class str {

/**
* 利用正则表达式的规则定位到要替换的字符的位置.之后用replaceAll函数将所有的符合规则的字符替换成另外一部分
* @param str 代表源字符串
* @param reg 代表正则
* @param newStr 用newStr替换符合正则表达式规则的字符
*/
public static void replaceSllDemo(String str,String reg,String newStr){
str = str.replaceAll(reg, newStr);
System.out.print(str);
}
public static void main(String[] args) {

//要求将字符串中的数字替换成#号
String str = "wer1389980000ty34uiod23456f";

String reg = "\\d{5,}"; //你只要数字的个数超过了5个,我就会把你进行替换
String newStr = "#";
replaceSllDemo(str, reg, newStr);




}
}


现在我想把叠词替换成一个字母
  • 使用$i  可以获取到第i组的结果
package zhengze;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

import org.omg.CORBA.PUBLIC_MEMBER;

public class str {

/**
* 利用正则表达式的规则定位到要替换的字符的位置.之后用replaceAll函数将所有的符合规则的字符替换成另外一部分
* @param str 代表源字符串
* @param reg 代表正则
* @param newStr 用newStr替换符合正则表达式规则的字符
*/
public static void replaceSllDemo(String str,String reg,String newStr){
str = str.replaceAll(reg, newStr);
System.out.print(str);
}
public static void main(String[] args) {

//要求将字符串中的数字替换成#号
String str = "werkktyqqqquizzzzzzzzoi";

String reg = "(.)\\1+";     
String newStr = "$1"; //使用$符号加i,可以获取到第i组的结果
replaceSllDemo(str, reg, newStr);




}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值