導航:首頁 > 編程語言 > java正則表達式分析替換字元串

java正則表達式分析替換字元串

發布時間:2024-04-13 02:12:49

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

Ⅱ java中怎麼進行字元串替換

replace方法
該方法的作用是替換字元串中所有指定的字元,然後生成一個新的字元串。經過該方法調用以後,原來的字元串不發生改變。例如:

String s = 「abcat」;
String s1 = s.replace(『a』,『1』);

該代碼的作用是將字元串s中所有的字元a替換成字元1,生成的新字元串s1的值是「1bc1t」,而字元串s的內容不發生改變。
如果需要將字元串中某個指定的字元串替換為其它字元串,則可以使用replaceAll方法,例如:

String s = 「abatbac」;
String s1 = s.replaceAll(「ba」,「12」);

該代碼的作用是將字元串s中所有的字元串「ab」替換為「12」,生成新的字元串「a12t12c」,而字元串s的內容也不發生改變。
如果只需要替換第一個出現的指定字元串時,可以使用replaceFirst方法,例如:

String s = 「abatbac」;
String s1 = s. replaceFirst (「ba」,「12」);

該代碼的作用是只將字元串s中第一次出現的字元串「ab」替換為字元串「12」,則字元串s1的值是「a12tbac」

Ⅲ java正則表達式怎麼定義只替換中間的字元

可以使用StringBuffer定義字元串,之後使用replace方法替換指定位置的字元串為指定的字元串內內容,如下代碼:容
public class Demo1 {
public static void main(String[] args) {
StringBuffer buffer = new StringBuffer("123456");
System.out.println(buffer.toString());//輸出123456
buffer.replace(0, 1, "a");
System.out.println(buffer.toString());//輸出a23456
}
}
這里簡單介紹一下replace方法的使用,replace方法一共有三個參數,第一個參數是指定要替換的字元串的開始位置,第二個參數是指定要替換的字元串的結束位置(注意這里的結束位置不包括本身),第三個參數是指定想將字元串替換成什麼內容。
如:原字元串內容為"123456",現在調用replace(0, 2, "abc"),原字元串變為"abc3456"

Ⅳ java用正則表達式判定特殊字元是否,存在就替換的問題

String ss = "aabbcc[{dd}]eeff[{gg}]hhiijjkkll[{mmnn}]oopp";
System.out.println(ss.replaceAll("[\\[{,}\\]]*", ""));
使用的是正則表達式。其中中括弧為關鍵字,意思是符合中括弧裡面專的內容,屬因此要想去掉原有string中的[和],則不需加上\進行特殊標識,指定為字元而非正則表達式元素。
方法和講解完畢,有不清楚的可以再學學正則表達式。
來分吧,哈哈

Ⅳ java中怎麼替換string中的某個字元

/¥392931String這個對於程序原來說一定是最熟悉不過的,很多時候我們都習慣去使用String的原生方法去完成查找字元串、替換、刪除,而正則表達式由於略顯苦澀的語法常常被人忽略,其實很多時候使用正則表達式可以提高不少性能和節省資源。

一、正則表達式簡述

正則表達式正則表達是Java中比較矛盾的知識點,因為使用起來可以很簡單也可以相當地有難度,但是對於字元串操作來說應用得當則事半功倍,字元串查找,搜索,匹配,替換等等,正則表達式無所不能。而所謂正則表達式本質就是一個字元串(這個字元串按照一定的語法和規范被構造出來作為限定條件),其主要參與者——Pattern和Matcher:Pattern是Java正則表達式API中的主要入口,是程序語言中對這個特殊正則字元串的編譯表示,需要使用正則表達式,第一步都是從構造Pattern 類開始,而Matcher是輸入字元串進行解釋和匹配操作的引擎,通過解釋 Pattern 對 Character sequence 執行匹配操作(即Matcher負責完成字元串的查找、匹配、替換等操作。)

二、正則表達式基本語法

1、預留字元

限定符

說明

. 任意英文字母

反斜杠, 單獨的反斜杠做為轉義字元,與其他特殊字元一起使用。如果想匹配反斜杠本身,需要轉義。兩個反斜杠實際匹配一個反斜杠n字元的8進製表示.n 在0至7之間取值

nn 字元的8進製表示.n 在0至7之間取值

mnn 字元的8進製表示. m 在0至3之間取值, n 在0至7之間取值

xhh 字元的16進製表示.

uhhhh 字元的16進製表示 0xhhhh. 對應unicode 編碼字元

縮進符.

換行符 (unicode: 『u000A』)

回車符 (unicode: 『u000D』)

f 製表符 (unicode: 『u000C』)

a 警報(鈴聲)字元 (unicode: 『u0007′)

e 轉義符 (unicode: 『u001B』)

cx 控制符 x

d 匹配任意數字 [0-9]

D 匹配任意非數字 [^0-9]

s 匹配任意空白符 (空格, 縮進, 換行,回車)

S 匹配任意非空白符

w 匹配任意單詞

W 匹配任意非單詞

2、設置指定限定條件[](即「[]」表示的是中括符里的內容是條件)

限定符

說明

[a-z] 匹配小寫a to z范圍中任一個字元,又如[abc] 匹配 a, 或 b 或 c

[A-Z] 匹配大寫A to Z范圍中任一個字元

[a-zA-Z] 匹配小寫a to z或大寫A to Z范圍中一個字元

[0-9] 匹配小寫0 to 9范圍中一個字元

[0-9a-z] 匹配小寫0 to 9或a to z范圍中一個字元

[0-9[a-z]] 匹配小寫0 to 9或a to z范圍中一個字元(交集)

[^abc] 匹配不是a,b,c 的字元,是否定匹配

[a-zA-Z] 匹配a 到 z ,A到Z 直接的字元,是范圍匹配

[a-d[m-p]] 匹配a到d之間字元或 m到p之間字元,是並集匹配

[a-z&&[def]] 匹配 d, e, 或 f. 是交集匹配 (這里是在范圍 a-z和字元def之間取交集).

[a-z&&[^bc]] 匹配a-z 之間所有字元,排除bc的字元。是減法匹配

[a-z&&[^m-p]] 匹配a-z 之間所有字元,排除m-p之間的字元是減法匹配

3、邊界匹配

邊界符

說明

^ 匹配行首

$ 匹配行尾

 匹配單詞邊界

B 匹配非單詞邊界

A 匹配文本開頭

G 匹配前一匹配項結尾

 輸入的結尾,僅用於最後的結束符(如果有的話)

z 匹配文本結尾

4、邏輯操作符和量詞表示

正則表達式支持少量的邏輯運算(與,或)。與操作是默認的,表達式 cmo,意味著c 與 m與o。
或操作需要顯示指定,用 | 表示。例如表達式 crazy|mo意味著crazy或 mo。

貪婪模式

飢餓模式

獨占模式

說明

X? X?? X?+ 匹配0或1次,即出現X 0或者1次

X* X**? X*+ 匹配0或多次

X+ X+? X++ 匹配1或多次

X{n} X{n}? X{n}+ 匹配n次

X{n,} X{n,}? X{n,}+ 匹配最少n次

X{n, m} X{n, m}? X{n, m}+ 匹配最少n次,最多m次

三、正則表達式的應用

Ⅵ java正則表達式替換一段字元串

Java正則表達式 .*(from.*)$ 替換成 select count(*) $1

完整的Java替換程序如下

publicclassAA{
publicstaticvoidmain(String[]args){
Strings="Selectafromxxxa"+"wherea.id=:id";
Stringregex=".*(from.*)$";
Stringresult=s.replaceAll(regex,"selectcount(*)$1");
System.out.println(result);
}
}

運行結果
selectcount(*)fromxxxawherea.id=:id
因為我不知道TbItem.class.getName()方法返回的表回名,所以用答xxx代替.
你可以用Strings="Selectafrom"+TbItem.class.getName()+"a"+"wherea.id=:id";沒問題不用改.

Ⅶ java正則表達式多個字元串替換怎樣實現

str.replaceAll("[A-Z]+\\d{3}", "hello").replaceAll("[^A-Za-z]", "==");

Ⅷ JAVA正則表達式替換字元串問題

importjava.util.regex.Matcher;
importjava.util.regex.Pattern;

publicclassTestRegex
{
publicstaticvoidmain(String[]args)
{
Stringregex="第[0-9]*條";
Stringstr="第9條,數據錯誤,錯誤信息,第jjj哦條哦條我的條件如何?第221條xx";
Patternpat=Pattern.compile(regex);
Matchermatcher=pat.matcher(str);
while(matcher.find()){
Stringtemp=str.substring(matcher.start(),matcher.end());
str=str.replaceAll(temp,temp.substring(0,temp.lastIndexOf("條"))+"行");
}
System.out.println(str);
}
}

Ⅸ java正則表達式怎麼一個個替換匹配的內容

Stringa="我是f_static_000的f_static_001aaaf_static_001";
//正則根據自己需要修改,replaceAll可以使用正則的捕獲組功能,$n引用第n個捕獲組
/**
replaceAll(regExp,replacement);第一個參專數是正則字元屬串,第二個是替換內容
正則裡面有捕獲(正則裡面用小括弧捕獲)和引用的功能
*/
a=a.replaceAll("(f_static_\d+)","#[face/png/$1.png]#");

閱讀全文

與java正則表達式分析替換字元串相關的資料

熱點內容
win8文件夾共享 瀏覽:685
大數據處理小鎮 瀏覽:452
U盤插人汽車音樂不能里示文件夾 瀏覽:197
w10幻燈片背景在哪個文件夾 瀏覽:92
如何禁用網路共享 瀏覽:641
驗光醫生手寫數據有什麼 瀏覽:317
2014下半年軟考網路工程師真題答案 瀏覽:898
安卓手機用nanosim卡 瀏覽:665
哪個修圖軟體能導png文件圖 瀏覽:771
文件合並001 瀏覽:21
手機查車v12密碼 瀏覽:205
iframe里的js禁用 瀏覽:264
如何修改gradle版本 瀏覽:740
農業大數據雲計算 瀏覽:124
不用升級的角色游戲 瀏覽:919
大數據比對是什麼內容 瀏覽:617
華為分享照片存儲在哪個文件 瀏覽:296
windows7正在還原以前版本 瀏覽:738
醫學編程哪個好學 瀏覽:354
substancejar教程 瀏覽:760

友情鏈接