java正則表達式正則替換
A. java 正則替換同一類字元串
在Java編程中,正則表達式是一種強大的工具,可以用於字元串的模式匹配和處理。下面的代碼示例展示了如何使用正則表達式來替換或處理字元串數組中的元素。假設我們有一個字元串數組,其中包含一些表達式,例如"表達式1"、"表達式2"和"表達式3"。我們使用正則表達式模式來匹配這些表達式,並通過匹配結果進行字元串處理。
首先,我們定義了一個正則表達式模式,用於匹配字元串中的非空白字元。這可以通過Pattern類的compile方法實現:
Pattern p = Pattern.compile("(\\S+)");
接下來,我們創建了一個字元串數組strs,並將其初始化為包含幾個表達式的字元串。
String[] strs = {"表達式1", "表達式2", "表達式3"};
然後,我們使用for循環遍歷字元串數組中的每個字元串。對於每個字元串,我們創建一個Matcher對象,該對象用於匹配字元串中的模式:
for(String str : strs) {
Matcher m = p.matcher(str);
接下來,我們檢查Matcher對象是否匹配整個字元串。這是通過調用Matcher對象的matches方法來實現的。
if(m.matches()) {
我們使用Matcher對象的group方法來獲取匹配結果中的不同部分。在這個例子中,我們假設匹配模式中的括弧定義了三個捕獲組。我們可以使用m.group(1)、m.group(2)和m.group(3)來獲取這些組的內容。
String sub = String.format("%s%s", m.group(2), m.group(1), m.group(3));
最後,我們使用System.out.println方法列印處理後的字元串:
System.out.println(sub);
這段代碼展示了如何使用正則表達式和Matcher類來處理字元串數組中的元素。雖然示例中的正則表達式和字元串處理邏輯相對簡單,但在實際應用中,正則表達式可以用於更復雜的字元串操作。
B. JAVA 替換特殊字元 的 正則表達式
JAVA替換特殊字元的正則表達式
代碼如下:
importjava.util.regex.*;
//表達式對象
Patternp=Pattern.compile("[\'\*\~]");
//創建Matcher對象
Matcherm=p.matcher("Stringstr="t'e*s~t";");
//替換
Stringnewstring=m.replaceAll("[$0]");
效果如下:
正則參考http://zh.wikipedia.org/wiki/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F
C. java用正則表達式判定特殊字元是否,存在就替換的問題
String的replaceAll方法可以使用正則表達式進行搜索並替換,但不改變原字元串,如果需要改變原字元串,則需要用賦值語句:
ss=ss.replaceAll("正則表達式","替換內容");
比如將"aabbcc[{dd}]eeff[{gg}]hhiijjkkll[{mmnn}]oopp"里的[{等特殊符號去掉:
ss=ss.replaceAll("\W","");
D. java 正則表達式 替換問號
問號是一個特殊字元,在正則表達式中代表0個或者1個,如果你要在正則表達式中表示?號,那麼需要轉義一下,\?,在java中則是\\?,不知道你問的是不是這個。
E. java 正則表達式 怎麼用正則表達式替換括弧里內容的同時去掉圓括弧
按照你的要求編寫的Java替換程序如下
public class R{
public static void main(String[] args) {
String s = "(我)發來了一條信息。(你好。)";
s=s.replaceAll("(我)","小明");
s=s.replaceAll("(你好。)","晚安。");
System.out.println(s);
}
}