JAVA 截取字符串的三種方法 subString,StringUtils,split實(shí)例詳解
JAVA 截取字符串的三種方法 subString,StringUtils,split
主要有以下幾種方法:
1、通過(guò)subString()方法來(lái)進(jìn)行字符串截取(最常用)
2、通過(guò)StringUtils提供的方法
3、split()+正則表達(dá)式來(lái)進(jìn)行截取
1、通過(guò)subString()方法來(lái)進(jìn)行字符串截取,返回字符串中的子字符串,在java中有兩種用法
第一種,傳遞一個(gè)參數(shù):
public String substring(int beginIndex) //該子字符串從指定索引處的字符開(kāi)始,直到此字符串末尾。public String substring(int beginIndex) //該子字符串從指定索引處的字符開(kāi)始,直到此字符串末尾。
第二種,傳遞兩個(gè)參數(shù):
public String substring(int beginIndex, int endIndex) //從指定的 beginIndex 處開(kāi)始,直到索引 endIndex - 1 處的字符。因此,該子字符串的長(zhǎng)度為 endIndex-beginIndex。
//參數(shù)說(shuō)明:beginIndex -- 起始索引(包括)、endIndex -- 結(jié)束索引(不包括)。
示例代碼:
public static void main(String[] args) { String Str = new String("hello wrold"); System.out.print("返回值,從第4位截取到字符串末尾 :" ); System.out.println(Str.substring(4) ); System.out.print("返回值,從第4位截取到第10位 :" ); System.out.println(Str.substring(4, 10) ); }
運(yùn)行結(jié)果
返回值,從第4位截取到字符串末尾 : o wrold
返回值,從第4位截取到第10位 : o wrol
2、通過(guò)StringUtils提供的方法
//與第一種方法效果一樣 StringUtils.substring("hello world", 4); // 返回值,從第4位截取到字符串末尾 : o wrold StringUtils.substring("hello world", 4, 10); // 返回值,從第4位截取到第10位 : o wrol //截取某個(gè)字符串之前的字符 StringUtils.substringBefore("hello world", "l"); //結(jié)果是:he 這里是以第一個(gè)”l”,為標(biāo)準(zhǔn)。 StringUtils.substringBeforeLast("hello world", "l"); //結(jié)果為:hello wor 這里以最后一個(gè)“l(fā)”為準(zhǔn)。 //截取某個(gè)字符串之后的字符 StringUtils.substringAfter("hello world", "l"); //結(jié)果是:lo world 這里是以第一個(gè)”l”,為標(biāo)準(zhǔn)。 StringUtils.substringAfterLast("hello world", "l"); //結(jié)果為:d 這里以最后一個(gè)“l(fā)”為準(zhǔn)。 //截取兩個(gè)字符串之間隔的字符 StringUtils.substringBetween("hello world", "o"); //結(jié)果是: w 兩個(gè)o之間的字符串。 StringUtils.substringBetween("hello world", "l", "r"); //結(jié)果是: lo wo 第一個(gè)字符“l(fā)”與第一個(gè)字符“r”之間的字符串 StringUtils.substringsBetween("hello world", "l", "r"); //結(jié)果是:數(shù)組 [lo wo] 第一個(gè)字符“l(fā)”與第一個(gè)字符“r”之間的字符串,以數(shù)組形式返回。
用StringUtils需要導(dǎo)入common-lang3包
<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.12.0</version> </dependency>
3、split()+正則表達(dá)式來(lái)進(jìn)行截取
將字符串按照分割符截取,以數(shù)組形式返回
String str = "hello, name, 12345, 6789"; String[] strs=str.split(","); for(int i=0,len=strs.length;i<len;i++){ System.out.println(strs[i].toString()); }
運(yùn)行結(jié)果
hello
name
12345
6789
到此這篇關(guān)于JAVA 截取字符串的三種方法 subString,StringUtils,split的文章就介紹到這了,更多相關(guān)java截取字符串內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java19新特性中外部函數(shù)與內(nèi)存API
Java19引入的外部函數(shù)與內(nèi)存API(預(yù)覽功能)是Project Panama一部分,旨在簡(jiǎn)化Java與本地代碼及非堆內(nèi)存的交互,提供更低層次的編程能力,解決了傳統(tǒng)JNI調(diào)用的復(fù)雜性、安全性和性能局限,特別適合高性能計(jì)算和系統(tǒng)編程領(lǐng)域,感興趣的可以了解一下2024-09-09IDEA maven compile報(bào)錯(cuò)OutOfMemoryError(內(nèi)存溢出)解決及jvm分析
遇到Maven編譯時(shí)報(bào)OutOfMemoryError錯(cuò)誤通常因?yàn)槟J(rèn)的堆內(nèi)存大小不足,本文就來(lái)介紹一下OutOfMemoryError(內(nèi)存溢出)解決,具有一定的參考價(jià)值,感興趣的可以了解一下2024-10-10mybatis實(shí)現(xiàn)獲取入?yún)⑹荓ist和Map的取值
這篇文章主要介紹了mybatis實(shí)現(xiàn)獲取入?yún)⑹荓ist和Map的取值問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06帶你了解Java數(shù)據(jù)結(jié)構(gòu)和算法之2-3-4樹(shù)
這篇文章主要為大家介紹了Java數(shù)據(jù)結(jié)構(gòu)和算法之2-3-4樹(shù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2022-01-01