最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java如何使用正則表達(dá)式查找指定字符串

 更新時(shí)間:2022年09月30日 09:18:54   作者:牧碼文  
在軟件開發(fā)中正則表達(dá)式是個(gè)很有用的功能,使用正則表達(dá)式可以簡化代碼,省去不少時(shí)間,下面這篇文章主要給大家介紹了關(guān)于Java如何使用正則表達(dá)式查找指定字符串的相關(guān)資料,需要的朋友可以參考下

對于一個(gè)文件名的使用經(jīng)常要做一些判斷,比如文件名是否是指定的名字,或者文件是否為指定的類型,或者篩選出以指定后綴結(jié)尾的文件名,等等

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

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

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

boolean equals(Object obj):比較字符串是否相同

boolean endWith(String str):測定字符串是否以指定的后綴結(jié)束

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

String par1 = “params.txt”;
String par2 = “_depth.dep”;
String par3 = “_GRD.grd”;
String par4 = “_cs.dep”;
String par5 = “_Tide.txt”;
String par6 = “Jonswap.txt”;

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

public class FileTest {
    public static void main(String[] args) {
        String par1 = "params.txt";
        String par2 = "_depth.dep";
        String par3 = "_GRD.grd";
        String par4 = "_cs.dep";
        String par5 = "_Tide.txt";
        String par6 = "Jonswap.txt";
        while(true) {
            Scanner scanner = new Scanner(System.in);
            System.out.println("please pressure a filename:");
            String next = scanner.next();
            if ("exit".equals(next)){
                break;
            }else if(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("沒有找到!");
            }
        }
    }
}

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

boolean mathes(String regex):告知此字符串是否匹配給指定的正則表達(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

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

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

public class RegexTest2 {
    public static void main(String[] args) {
        String regex = ".*_GRD\\.grd|.*_cs\\.dep|.*_depth\\.dep|" +
                ".*_Tide\\.txt|params\\.txt|Jonswap\\.txt";
        while(true){
            Scanner scanner = new Scanner(System.in);
            System.out.print("please preesure a fileName:");
            String next = scanner.next();
            if (next.matches(regex)){
                System.out.println("找到了:" + next);
            }else if("exit".equals(next)){
                System.out.println("byebye...");
                break;
            }else{
                System.out.println("沒有找到!");
            }
        }
    }
}

以上就完成了!

總結(jié)

到此這篇關(guān)于Java如何使用正則表達(dá)式查找指定字符串的文章就介紹到這了,更多相關(guān)Java查找指定字符串內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java女裝商城系統(tǒng)的實(shí)現(xiàn)流程

    Java女裝商城系統(tǒng)的實(shí)現(xiàn)流程

    讀萬卷書不如行萬里路,只學(xué)書上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+SSM+jsp+mysql+maven實(shí)現(xiàn)一個(gè)女裝商城系統(tǒng),大家可以在過程中查缺補(bǔ)漏,提升水平
    2021-11-11
  • MyBatis?Plus?導(dǎo)入IdType失敗的解決

    MyBatis?Plus?導(dǎo)入IdType失敗的解決

    這篇文章主要介紹了MyBatis?Plus?導(dǎo)入IdType失敗的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • 使用SpringCloudApiGateway之支持Cors跨域請求

    使用SpringCloudApiGateway之支持Cors跨域請求

    這篇文章主要介紹了使用SpringCloudApiGateway之支持Cors跨域請求的操作,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • springboot注解Aspect實(shí)現(xiàn)方案

    springboot注解Aspect實(shí)現(xiàn)方案

    本文提供一種自定義注解,來實(shí)現(xiàn)業(yè)務(wù)審批操作的DEMO,不包含審批流程的配置功能。對springboot注解Aspect實(shí)現(xiàn)方案感興趣的朋友一起看看吧
    2022-01-01
  • json解析時(shí)遇到英文雙引號報(bào)錯(cuò)的解決方法

    json解析時(shí)遇到英文雙引號報(bào)錯(cuò)的解決方法

    下面小編就為大家分享一篇json解析時(shí)遇到英文雙引號報(bào)錯(cuò)的解決方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-02-02
  • springcloud干貨之服務(wù)注冊與發(fā)現(xiàn)(Eureka)

    springcloud干貨之服務(wù)注冊與發(fā)現(xiàn)(Eureka)

    這篇文章主要介紹了springcloud干貨之服務(wù)注冊與發(fā)現(xiàn)(Eureka) ,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-01-01
  • Java隱藏特性之雙括號初始化詳解

    Java隱藏特性之雙括號初始化詳解

    Java?語言擁有許多隱藏而強(qiáng)大的特性,其中之一是雙括號初始化,這篇文章將詳細(xì)介紹雙括號初始化的概念、用法和示例代碼,希望對大家有所幫助
    2023-12-12
  • 解決?IDEA?Maven?項(xiàng)目中"Could?not?find?artifact"?問題的常見情況和解決方案

    解決?IDEA?Maven?項(xiàng)目中"Could?not?find?artifact"?

    這篇文章主要介紹了解決IDEA Maven項(xiàng)目中Could not?find?artifact問題的常見情況和解決方案,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-07-07
  • MyBatis圖文并茂講解注解開發(fā)一對多查詢

    MyBatis圖文并茂講解注解開發(fā)一對多查詢

    這篇文章主要介紹了SpringBoot中Mybatis注解一對多查詢的實(shí)現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • Java并發(fā)編程之顯式鎖機(jī)制詳解

    Java并發(fā)編程之顯式鎖機(jī)制詳解

    這篇文章主要為大家詳細(xì)介紹了Java并發(fā)編程之顯式鎖機(jī)制的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-10-10

最新評論

浑源县| 曲周县| 潮安县| 汾西县| 阿拉善右旗| 吉安市| 内江市| 阜南县| 平塘县| 夹江县| 专栏| 凤庆县| 营山县| 阆中市| 新绛县| 丰顺县| 张家界市| 温泉县| 叙永县| 广德县| 平江县| 济阳县| 白水县| 山东省| 漯河市| 天长市| 酒泉市| 永嘉县| 孝昌县| 海伦市| 合川市| 如东县| 洪江市| 赤壁市| 克拉玛依市| 老河口市| 青海省| 突泉县| 望奎县| 民和| 松原市|