java中如何截取字符串最後一位
截取字符串最後一位
1.用substring()來截取
理論上它是按照字符串.substring(字符串.lastIndexOf("\\")+1)這個格式來的,但是在涉及到特殊符號時需要用\\來轉義,所以註意下。
例子:
public class Test { public static void main(String[] args) { String fileName="E:/eclipse_workspace1/FtpOperateFile/logs/IYinXin.log"; String newFileName=fileName.substring(fileName.lastIndexOf("/")+1); System.out.println("最後一個文件名為=====>"+newFileName); } }
效果圖:
2.用split()來截取
註:遇到特殊符號時需要用\\來轉義
例子:
public static void main(String[] args) { String fileName="E:/eclipse_workspace1/FtpOperateFile/logs/IYinXin.log"; //用/進行切割 String[] spiltFileName=fileName.split("\\/"); //獲取最後一個文件名 String lastName=spiltFileName[spiltFileName.length-1]; System.out.println("最後一個文件名是=====>"+lastName); }
效果圖:
3.對在Windows下的目錄進行截取最後一位
4.對linux下的目錄進行截取最後一位
截取字符串的常見方法
工作中經常遇到截取字符串的需求,介紹兩種常見的截取字符串方法。
常用方法
方法一:split(),此方法返回的是一個字符串數組類型;
方法二:substring(),進行字符串截取。
常用方法介紹和應用示例
**方法一:**通過split(),此方法返回的是一個字符串數組類型。
- 1.隻傳一個參數:split(String regex)
將正則傳入split(),根據給定正則表達式的匹配拆分此字符串。不過通過這種方式截取會有很大的性能損耗,因為分析正則非常耗時。
String str = "AB@CD"; String[] strs = str.split("@"); for(int i=0;i<strs.length;i++){ System.out.println(strs[i].toString()); }
運行結果:
AB
CD
- 2.傳入兩個參數:split(String regex,int limit)
regex – 正則表達式分隔符。
limit – 分割的份數。
將正則和份數傳入split()。根據給定正則表達式的匹配和想要分割的份數來拆分此字符串。
String str = "HelloWorld@qq@com"; String[] strs = str.split("@",2); for(int i=0;i<strs.length;i++){ System.out.println(strs[i].toString()); }
運行結果:
HelloWorld
qq@com
**方法二:**通過subString()方法來進行字符串截取
- 1.隻傳一個參數:subString(int beginIndex)
將字符串從索引號為beginIndex開始截取,一直到字符串末尾。(註意索引值從0開始);
String sb = "[email protected]"; String str = sb.substring(5); System.out.println(str);
運行結果:
- 2.傳入兩個參數:substring(int beginIndex, int endIndex)
從索引號beginIndex開始到索引號endIndex結束(返回結果包含索引為beginIndex的字符不包含索引endIndex的字符),如下所示:
String sb = "[email protected]"; String str = sb.substring(0, 5); System.out.println(str);
運行結果:
Hello
- 3.根據某個字符截取字符串
這裡根據”@”截取字符串(也可以是其他子字符串)
String sb = "[email protected]"; String str = sb.substring(0, sb.indexOf("@")); System.out.println(str);
運行結果:
HelloWorld
分析:indexOf(String str)方法返回的是子字符串第一次出現在字符串的索引位置,上面的代碼返回的是@前面的字符。
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。
推薦閱讀:
- Java中實現String字符串分割的3種方法
- JAVA基礎類庫之String類,StringBuffer類和StringBuilder類
- 一篇文章看懂Java字符串操作
- 淺談Java中String的常用方法
- Java常用類之字符串相關類使用詳解