String的方法中常用的正規表達式
- split() 方法中的正規表達式
- replaceAll() 方法中的正規表達式
- String類的對象方法split(regex)用regex把字元串分隔成若幹個子串。
- 下面的例子求一行中被一個英文逗号和若幹個空白符分隔的數的和
正規表達式的模式串預編譯後比對方式
import java.util.regex.*;
public class TestRegexSplit {
public static void main(String[] args){
String str = "28.35 , \t 71.53, \t\t 0.12 \t, ";
String regexString = "\\s*,\\s*";
String[] subs = str.split(regexString);
double sum = 0.0;
for (int i=0; i<subs.length; i++) {
double d = Double.parseDouble(subs[i].trim());
sum += d;
}
System.out.println(sum);
}
} // 程式的運作結果是100.0
英文一般用空格分隔兩個單詞,但由于輸入錯誤,會出現多個空格分隔兩個單詞的情況。下面的程式把字元串中的多個空格替換為單個空格
import java.util.regex.*;
public class TestSearch {
public static void main(String[] args){
String str = "To be or not to be, that is the question.";
String res = str.replaceAll(" {2,}", " ");
System.out.println(res);
}
}
程式的運作結果是:To be or not to be, that is the question.
其中的replaceAll(regex, replacement)把符合regex的比對内容全部更換成replacement