java 字符串截取的方法


1.split()+正則表達式來進行截取。

將正則傳入split()。返回的是一個字符串數組類型。不過通過這種方式截取會有很大的性能損耗,因為分析正則非常耗時。

String str = "abc,12,3yy98,0";
String[] strs=str.split(",");
for(int i=0,len=strs.length;i<len;i++){
  System.out.println(strs[i].toString());
}

運行結果:

abc
12
3yy98
0

2.通過subString()方法來進行字符串截取。

subString通過不同的參數來提供不同的截取方式

2.1只傳一個參數

例如:

String sb = "bbbdsajjds";
sb.substring(2);

將字符串從索引號為2開始截取,一直到字符串末尾。(索引值從0開始);

2.2傳入2個索引值

String sb = "bbbdsajjds";
sb.substring(2, 4);

從索引號2開始到索引好4結束(並且不包含索引4截取在內,也就是說實際截取的是2和3號字符);

運行結果如下:

bdsajjds
bd

3.通過StringUtils提供的方法

StringUtils.substringBefore(“dskeabcee”, “e”);
/結果是:dsk/
這里是以第一個”e”,為標准。

StringUtils.substringBeforeLast(“dskeabcee”, “e”)
結果為:dskeabce

這里以最后一個“e”為准。

 

 

demo:

String url2 ="http://192.168.123.83:80/test_tape/771/2017090613/20170906161932538841656.V3?AWSAccessKeyId=1VA98MUQO0Y0URCMO99x&Expires=4100688000&signature=mIspd3R076h%2F74iSHRmH5Q%2F2zGw%3D";
String filename="771.1001.xml";

String file= StringUtils.substringBeforeLast(filename, ".");
String url=url2.split("\\?")[0].split("\\//")[1];
String key = url.substring(url.indexOf("/", url.indexOf("/") + 1)+1);
String name = url.substring(url.lastIndexOf("/")+1);

System.out.println("file:"+file);
System.out.println("url:"+url);
System.out.println("key:"+key);
System.out.println("name:"+name);

運行結果:

file:771.1001
url:192.168.123.83:80/test_tape/771/2017090613/20170906161932538841656.V3
key:771/2017090613/20170906161932538841656.V3
name:20170906161932538841656.V3

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM