9.第八节demo2

    xiaoxiao2025-01-22  56

    package com.zzh.day2; import java.util.regex.Matcher; import java.util.regex.Pattern; public class demo2 { public static void main(String[] args) { /** * appendReplacement() 替换当前匹配的字符串,将所有字串加入到指定的StringBuffer中 * appendTail() 将字符串尾部部分加到StringBuffer中 * */ String string = "Java jaVa JAvA IloveJaVa youhatejAvA 法发大水发大水发大水发"; // Pattern pattern = Pattern.compile("[Jj][aA][Vv][Aa]"); // Matcher matcher = pattern.matcher(string); // System.out.println(matcher.replaceAll("JAVA")); Pattern p = Pattern.compile("java",Pattern.CASE_INSENSITIVE);//忽略大小写CASE_INSENSITIVE Matcher m = p.matcher(string); StringBuffer buffer = new StringBuffer(); int i = 0; while(m.find()){ if(i%2 == 0){ m.appendReplacement(buffer, "java"); }else{ m.appendReplacement(buffer, "JAVA"); } i++; } System.out.println(buffer); m.appendTail(buffer); // System.out.println(m.replaceAll("JAVA")); System.out.println(buffer); } }

    代码在做什么: 将字符串里面所有的java改成大写。 输出结果: java JAVA java IloveJAVA youhatejava java JAVA java IloveJAVA youhatejava 法发大水发大水发大水发

    第一行结果没有写m.appendTail(buffer);

    可以这么写正则表达式[Jj][aA][Vv][Aa]

    在java中可以这么创建一个Pattern对象 Pattern p = Pattern.compile(“java”,Pattern.CASE_INSENSITIVE);

    CASE_INSENSITIVE//忽略大小写

    最新回复(0)