Java中檢查字符串是否以特定字符結尾
前言:
在日常開發(fā)中經(jīng)常會遇到字符串匹配問題,我們就來學習使用Java中的一些方便快捷的方法來解決這個問題吧
使用String類
Java自帶的字符串類提供了多種方法來驗證一個給定的字符串是否以特定的字符串結束
endsWith()方法
endsWith()
方法就是為了解決這個問題而引入的。它提供了一個直接的方法來檢查一個String對象是否以另一個字符串結尾
public static boolean isEndWith(String text, String suffix) { if (text == null || suffix == null) { return false; } return text.endsWith(suffix); }
注意:需要確保text和suffix不為空,以避免出現(xiàn)空指針異常NullPointerException
matches()方法
matches()
方法也可以用來解決這個問題,它使用正則檢查一個字符串是否與一個給定的正則表達式相匹配
public static boolean isEndWith(String text, String suffix) { if (text == null || suffix == null) { return false; } String regex = ".*" + suffix + "$"; return text.matches(regex); }
這里使用了一個正則表達式來匹配我們字符串文本末尾的后綴($)。然后我們把這個正則表達式傳給了matches()
方法執(zhí)行進行匹配
regionMatches()
還可以使用regionMatches()
方法來解決這個問題,regionMatches()
方法用于檢測兩個字符串在一個區(qū)域內是否相等。
public static boolean usingStringRegionMatchesMethod(String text, String suffix) { if (text == null || suffix == null) { return false; } int toffset = text.length() - suffix.length(); return text.regionMatches(toffset, suffix, 0, suffix.length()); }
toffset表示text字符串中子區(qū)域的起始偏移量。所以為了檢查text是否以suffix結束,toffset應該等于text的長度減去suffix的長度
使用Pattern類
我們還可以使用Pattern類來編譯一個正則表達式,來檢查text是否以suffix結束
重新使用上邊使用過的正則表達式:
public static boolean usingPatternClass(String text, String suffix) { if (text == null || suffix == null) { return false; } Pattern pattern = Pattern.compile(".*" + suffix + "$"); return pattern.matcher(text).find(); }
Pattern編譯了前面的正則,表示以字符串suffix結尾,并將其與我們的text相匹配
到此這篇關于Java中檢查字符串是否以特定字符結尾的文章就介紹到這了,更多相關Java特定字符內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
關于Java并發(fā)編程中線程間協(xié)作的兩種方式
這篇文章主要介紹了關于Java并發(fā)編程中線程間協(xié)作的兩種方式,當隊列滿時,生產者需要等待隊列有空間才能繼續(xù)往里面放入商品,而在等待的期間內,生產者必須釋放對臨界資源的占用權,這是消費者模式,需要的朋友可以參考下2023-07-07MyBatis_Generator插件的安裝以及簡單使用方法(圖解)
下面小編就為大家?guī)硪黄狹yBatis_Generator插件的安裝以及簡單使用方法(圖解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-05-05Nacos-SpringBoot框架啟動不加載bootstrap.yml的解決
這篇文章主要介紹了Nacos-SpringBoot框架啟動不加載bootstrap.yml的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-11-11Java?SSM實現(xiàn)前后端協(xié)議聯(lián)調詳解下篇
首先我們已經(jīng)知道,在現(xiàn)在流行的“前后端完全分離”架構中,前后端聯(lián)調是一個不可能避免的問題,這篇文章主要介紹了Java?SSM實現(xiàn)前后端協(xié)議聯(lián)調過程2022-08-08