public class Example04 { public static void main(String[] args){ String str="ILO1VE23JA4VA".replaceAll("\\d+","_"); System.out.println("字符替换后为:"+str); boolean te="M2E3T4O5O".matches("\\d+"); System.out.println("字符串是否匹配:"+te); String s[]="I22LOVE33JAVA44".split("\\d+"); System.out.println("字符串拆分后为:"); for(int i=0;i<s.length;i++){ System.out.print(s[i]+" "); } } }用pattern类和matcher类改造程序,使其得出同样结果
时间: 2023-07-05 07:16:17 浏览: 235
使用Pattern类和Matcher类改造程序可以得出同样结果,代码如下:
```
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example04 {
public static void main(String[] args){
Pattern p = Pattern.compile("\\d+");
Matcher m = p.matcher("ILO1VE23JA4VA");
String str = m.replaceAll("_");
System.out.println("字符替换后为:" + str);
boolean te = Pattern.matches("\\d+", "M2E3T4O5O");
System.out.println("字符串是否匹配:" + te);
String[] s = "I22LOVE33JAVA44".split("\\d+");
System.out.println("字符串拆分后为:");
for (int i = 0; i < s.length; i++) {
System.out.print(s[i] + " ");
}
}
}
```
首先,使用Pattern.compile("\\d+")创建一个匹配任意数字的正则表达式的Pattern对象p,然后使用p.matcher("ILO1VE23JA4VA")创建一个匹配器Matcher对象m,并使用m.replaceAll("_")将输入字符串中的数字替换成下划线,得到替换后的字符串。
其次,使用Pattern.matches("\\d+", "M2E3T4O5O")判断字符串"M2E3T4O5O"是否匹配任意数字的正则表达式,返回布尔值te。
最后,使用"I22LOVE33JAVA44".split("\\d+")将输入字符串拆分成多个子字符串,子字符串之间的分隔符是数字字符。并使用for循环打印拆分后的子字符串。
阅读全文