主要有以下幾種方法:
1拣度、通過subString()方法來進(jìn)行字符串截取(最常用)
2耙旦、通過StringUtils提供的方法
3朋蔫、split()+正則表達(dá)式來進(jìn)行截取
先來介紹最常用的一種
1、通過subString()方法來進(jìn)行字符串截取捏膨,返回字符串中的子字符串秧均,在java中有兩種用法
第一種,傳遞一個參數(shù):
public String substring(int beginIndex)
//該子字符串從指定索引處的字符開始号涯,直到此字符串末尾目胡。
第二種,傳遞兩個參數(shù):
public String substring(int beginIndex, int endIndex)
//從指定的 beginIndex 處開始链快,直到索引 endIndex - 1 處的字符誉己。因此,該子字符串的長度為 endIndex-beginIndex域蜗。
//參數(shù)說明: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慢宗、通過StringUtils提供的方法
//與第一種方法效果一樣
StringUtils.substring("hello world", 4); // 返回值,從第4位截取到字符串末尾 : o wrold
StringUtils.substring("hello world", 4, 10); // 返回值奔穿,從第4位截取到第10位 : o wrol
//截取某個字符串之前的字符
StringUtils.substringBefore("hello world", "l");
//結(jié)果是:he 這里是以第一個”l”镜沽,為標(biāo)準(zhǔn)。
StringUtils.substringBeforeLast("hello world", "l");
//結(jié)果為:hello wor 這里以最后一個“l(fā)”為準(zhǔn)贱田。
//截取某個字符串之后的字符
StringUtils.substringAfter("hello world", "l");
//結(jié)果是:lo world 這里是以第一個”l”淘邻,為標(biāo)準(zhǔn)。
StringUtils.substringAfterLast("hello world", "l");
//結(jié)果為:d 這里以最后一個“l(fā)”為準(zhǔn)湘换。
//截取兩個字符串之間隔的字符
StringUtils.substringBetween("hello world", "o");
//結(jié)果是: w 兩個o之間的字符串宾舅。
StringUtils.substringBetween("hello world", "l", "r");
//結(jié)果是: lo wo 第一個字符“l(fā)”與第一個字符“r”之間的字符串
StringUtils.substringsBetween("hello world", "l", "r");
//結(jié)果是:數(shù)組 [lo wo] 第一個字符“l(fā)”與第一個字符“r”之間的字符串统阿,以數(shù)組形式返回。
3筹我、split()+正則表達(dá)式來進(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());
}
//返回結(jié)果:
hello
name
12345
6789