Java中檢查字符串是否以特定字符結(jié)尾
前言:
在日常開發(fā)中經(jīng)常會(huì)遇到字符串匹配問(wèn)題,我們就來(lái)學(xué)習(xí)使用Java中的一些方便快捷的方法來(lái)解決這個(gè)問(wèn)題吧
使用String類
Java自帶的字符串類提供了多種方法來(lái)驗(yàn)證一個(gè)給定的字符串是否以特定的字符串結(jié)束
endsWith()方法
endsWith()方法就是為了解決這個(gè)問(wèn)題而引入的。它提供了一個(gè)直接的方法來(lái)檢查一個(gè)String對(duì)象是否以另一個(gè)字符串結(jié)尾
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()方法也可以用來(lái)解決這個(gè)問(wèn)題,它使用正則檢查一個(gè)字符串是否與一個(gè)給定的正則表達(dá)式相匹配
public static boolean isEndWith(String text, String suffix) {
if (text == null || suffix == null) {
return false;
}
String regex = ".*" + suffix + "$";
return text.matches(regex);
}這里使用了一個(gè)正則表達(dá)式來(lái)匹配我們字符串文本末尾的后綴($)。然后我們把這個(gè)正則表達(dá)式傳給了matches()方法執(zhí)行進(jìn)行匹配
regionMatches()
還可以使用regionMatches()方法來(lái)解決這個(gè)問(wèn)題,regionMatches() 方法用于檢測(cè)兩個(gè)字符串在一個(gè)區(qū)域內(nèi)是否相等。
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結(jié)束,toffset應(yīng)該等于text的長(zhǎng)度減去suffix的長(zhǎng)度
使用Pattern類
我們還可以使用Pattern類來(lái)編譯一個(gè)正則表達(dá)式,來(lái)檢查text是否以suffix結(jié)束
重新使用上邊使用過(guò)的正則表達(dá)式:
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結(jié)尾,并將其與我們的text相匹配
到此這篇關(guān)于Java中檢查字符串是否以特定字符結(jié)尾的文章就介紹到這了,更多相關(guān)Java特定字符內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
springBoot靜態(tài)資源加載不到,并且配置了也不生效問(wèn)題及解決
這篇文章總結(jié)了一個(gè)在Spring Boot 2.6.x版本中,由于路徑匹配策略改變導(dǎo)致靜態(tài)資源無(wú)法加載的問(wèn)題,并提供了解決方案:通過(guò)配置類或在配置文件中設(shè)置路徑匹配策略為AntPathMatcher,或者直接降級(jí)Spring Boot版本2025-02-02
對(duì)Java字符串與整形、浮點(diǎn)類型之間的相互轉(zhuǎn)換方法總結(jié)
今天小編就為大家分享一篇對(duì)Java字符串與整形、浮點(diǎn)類型之間的相互轉(zhuǎn)換方法總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-07-07
關(guān)于Java中@SuppressWarnings的正確使用方法
這篇文章主要介紹了關(guān)于Java中@SuppressWarnings的正確使用方法,@SuppressWarnings注解主要用在取消一些編譯器產(chǎn)生的警告對(duì)代碼左側(cè)行列的遮擋,有時(shí)候這會(huì)擋住我們斷點(diǎn)調(diào)試時(shí)打的斷點(diǎn),需要的朋友可以參考下2023-05-05
java實(shí)現(xiàn)在SSM下使用支付寶掃碼支付功能
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)在SSM下使用支付寶掃碼支付功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-02-02

