Java如何使用正則表達(dá)式查找指定字符串_第1頁
Java如何使用正則表達(dá)式查找指定字符串_第2頁
Java如何使用正則表達(dá)式查找指定字符串_第3頁
Java如何使用正則表達(dá)式查找指定字符串_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第Java如何使用正則表達(dá)式查找指定字符串對于一個文件名的使用經(jīng)常要做一些判斷,比如文件名是否是指定的名字,或者文件是否為指定的類型,或者篩選出以指定后綴結(jié)尾的文件名,等等

這時就可以提取出文件名的字符串進(jìn)行比較判斷篩選

在java中的String類的一些常用方法中給出了這些工具方法,比如判斷兩個字符串是否一致,字符串是否以指定的前綴開始,字符串是否以指定的后綴結(jié)束等等方法

這里用到的java中的String類的常用方法

booleanequals(Objectobj):比較字符串是否相同

booleanendWith(Stringstr):測定字符串是否以指定的后綴結(jié)束

通過這兩個方法進(jìn)行篩選

Stringpar1=params.txt

Stringpar2=_depth.dep

Stringpar3=_GRD.grd

Stringpar4=_cs.dep

Stringpar5=_Tide.txt

Stringpar6=Jonswap.txt

判斷文件名是否為params.txt,Jonswap.txt,或者以指定的后綴_depth.dep,_GRD.grd,_cs.dep,_Tide.txt結(jié)尾的文件

publicclassFileTest{

publicstaticvoidmain(String[]args){

Stringpar1="params.txt";

Stringpar2="_depth.dep";

Stringpar3="_GRD.grd";

Stringpar4="_cs.dep";

Stringpar5="_Tide.txt";

Stringpar6="Jonswap.txt";

while(true){

Scannerscanner=newScanner(System.in);

System.out.println("pleasepressureafilename:");

Stringnext=scanner.next();

if("exit".equals(next)){

break;

}elseif(par1.equals(next)||par2.endsWith(next)||par3.endsWith(next)

||par4.endsWith(next)||par5.endsWith(next)||par6.equals(next))

System.out.println("找到了你輸入的文件:"+next);

}else{

System.out.println("沒有找到!");

}

以上代碼雖然可以正常運行輸出,但是它不僅匹配了后綴,只要是最后一個字母一樣的它都可以匹配上,所以多多少少有一點bug,這里的解決方法是使用正則表達(dá)式的方法,在java中的String類中也提供了使用正則表達(dá)式匹配的方法

booleanmathes(Stringregex):告知此字符串是否匹配給指定的正則表達(dá)式

首先了解必須的正則表達(dá)式原則

**.:通配所有的字符**

***:匹配0次或者多次前面出現(xiàn)的正則表達(dá)式**

**+:匹配1次或者多次前面出現(xiàn)的正則表達(dá)式**

**?:匹配0次或者1次前面出現(xiàn)的正則表達(dá)式**

**re1|re2:匹配正則表達(dá)式re1或者re2**

所以在制定后綴的正則表達(dá)式寫法:

.*_cs//.dep

上面代碼就是匹配后綴為_cs.dep,前面可以有內(nèi)容,也可以沒有內(nèi)容的文件名

.*_cs//.dep|.*_GRD.grd

上面代碼就是匹配兩個正則表達(dá)式,或者re1或者re2

了解了這兩個寫法之后,就可以進(jìn)行匹配了:

publicclassRegexTest2{

publicstaticvoidmain(String[]args){

Stringregex=".*_GRD\\.grd|.*_cs\\.dep|.*_depth\\.dep|"+

".*_Tide\\.txt|params\\.txt|Jonswap\\.txt";

while(true){

Scannerscanner=newScanner(System.in);

System.out.print("pleasepreesureafileName:");

Stringnext=scanner.next();

if(next.matches(regex)){

System.out.println("找到了:"+next);

}elseif("exit".equals(next)){

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論