問題
使用replaceAll實現字符串替換,具體要求爲將字符串"abc123bcd45ef6g7890"中的數字替換爲漢字"數字",如果是連續的數字,那麼替換爲一個漢字"數字"。
方案
在Java API中的String提供了replaceAll方法,實現將字符串中匹配正則表達式的字符串替換成其它字符串,replaceAll方法的聲明如下所示:
String replaceAll(String regex,String replacement)
以上方法實現將字符串中匹配正則表達式regex的字符串替換成replacement。
步驟
實現此案例需要按照如下步驟進行。
步驟一:添加測試方法
在TestRegEx中添加測試方法testReplaceAll,代碼如下所示:
package day02;
import org.junit.Test;
import java.util.Arrays;
public class TestRegEx{
/**
*使用replaceAll方法實現字符串替換
*
*/
@Test
public void testReplaceAll(){
}
}
步驟二:使用replaceAll方法
將字符串"abc123bcd45ef6g7890"中的數字替換爲漢字"數字",如果是連續的數字,那麼替換爲一個漢字"數字",在正則表達式中,使用"[\\d+]"來表示可以出現一個或多個數字,代碼如下所示:
package day02;
import org.junit.Test;
import java.util.Arrays;
public class TestRegEx{
/**
*使用replaceAll方法實現字符串替換
*
*/
@Test
public void testReplaceAll(){
//將str中的所有數字替換爲"數字"二字
String str="abc123bcd45ef6g7890";
str=str.replaceAll("\\d+","數字");
System.out.println(str);
}
}
步驟三:運行
運行方法testReplaceAll,控制檯輸出結果如下:
abc數字bcd數字ef數字g數字
從輸出結果可以看出已經將字符串"abc123bcd45ef6g7890"中的數字替換爲漢字"數字"。