Java截取字符串的常見方法


轉自:https://blog.csdn.net/zjx2016/article/details/74557301

在項目中經常會遇到截取字符串的需求,這里重點介紹兩種常見的截取字符串方法。

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

String str = "53285964@qq.com";
String[] strs = str.split("@");
for(int i=0,i<strs.length;i++){
    System.out.println(strs[i].toString());
}

運行結果:

53285964
qq.com

方法二:通過subString()方法來進行字符串截取
1、只傳一個參數:subString(int beginIndex)
將字符串從索引號為beginIndex開始截取,一直到字符串末尾。(注意索引值從0開始);

String sb = "asdfghj";
String str = sb.substring(2);
System.out.println(str);

運行結果:

dfghj

2、傳入兩個參數:substring(int beginIndex, int endIndex)
從索引號beginIndex開始到索引號endIndex結束(返回結果包含索引為beginIndex的字符不包含索引我endIndex的字符),如下所示:

String sb = "53285964@qq.com";
String str = sb.substring(0, 8);
System.out.println(str);

運行結果

53285964

3、根據某個字符截取字符串
這里根據”@”截取字符串(也可以是其他子字符串)

String sb = "53285964@qq.com";
String str = sb.substring(0, sb.indexOf("@"));
System.out.println(str);

運行結果:

53285964

分析:indexOf(String str)方法返回的是子字符串第一次出現在字符串的索引位置,上面的代碼返回的是@前面的字符。





1.用substring()來截取

       理論上它是按照字符串.substring(字符串.lastIndexOf("\\")+1)這個格式來的,但是在涉及到特殊符號時需要用\\來轉義,所以注意下。

例子:

    1. public class Test {
    2.  
    3. public static void main(String[] args) {
    4. String fileName= "E:/eclipse_workspace1/FtpOperateFile/logs/IYinXin.log";
    5. String newFileName=fileName.substring(fileName.lastIndexOf( "/")+1);
    6. System.out.println( "最后一個文件名為=====>"+newFileName);
    7. }
       
      2.用split()來截取

      注:遇到特殊符號時需要用\\來轉義

      例子:

      1. public static void main(String[] args) {
      2. String fileName= "E:/eclipse_workspace1/FtpOperateFile/logs/IYinXin.log";
      3. //用/進行切割
      4. String[] spiltFileName=fileName.split( "\\/");
      5. //獲取最后一個文件名
      6. String lastName=spiltFileName[spiltFileName.length- 1];
      7. System.out.println( "最后一個文件名是=====>"+lastName);
      8. }

獲取“  .”后面字符



String fileSplit=file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));


免責聲明!

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



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