欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java 字符串截取及常見場景與方法詳解

 更新時間:2024年12月09日 10:49:04   作者:Java猿  
在 Java 開發(fā)中,截取字符串是一個非常常見的操作,無論是獲取文件名還是提取某些特定內(nèi)容,本文詳細(xì)介紹了截取字符串最后一位及其他常見截取操作的多種方法,幫助開發(fā)者快速上手,感興趣的朋友跟隨小編一起看看吧

Java 字符串截取詳解:常見場景與方法

在 Java 開發(fā)中,截取字符串是一個非常常見的操作,無論是獲取文件名還是提取某些特定內(nèi)容。本文詳細(xì)介紹了截取字符串最后一位及其他常見截取操作的多種方法,幫助開發(fā)者快速上手。

1. 截取字符串最后一位

1.1 用 substring() 截取

substring() 是最常用的字符串截取方法,支持通過索引位置獲取部分字符串。理論格式如下:

String result = str.substring(str.lastIndexOf("\\") + 1);

注意:當(dāng)涉及特殊字符(如反斜杠 \)時,需要用 \\ 進(jìn)行轉(zhuǎn)義。

示例:

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);
    }
}

輸出結(jié)果:
最后一個文件名為=====>IYinXin.log

1.2 用 split() 截取

split() 方法可以根據(jù)指定的分隔符對字符串進(jìn)行切割,返回一個字符串?dāng)?shù)組。

注意:當(dāng)使用特殊字符(如 /.)作為分隔符時,需要用 \\ 轉(zhuǎn)義。

示例:

public class Test {
    public static void main(String[] args) {
        String fileName = "E:/eclipse_workspace1/FtpOperateFile/logs/IYinXin.log";
        // 使用 / 進(jìn)行切割
        String[] splitFileName = fileName.split("\\/");
        // 獲取最后一個文件名
        String lastName = splitFileName[splitFileName.length - 1];
        System.out.println("最后一個文件名是=====>" + lastName);
    }
}

輸出結(jié)果:
最后一個文件名是=====>IYinXin.log

1.3 Windows 下目錄的特殊處理

在 Windows 系統(tǒng)中,路徑分隔符通常為反斜杠 \,需要注意轉(zhuǎn)義。以下是一個示例:

public class Test {
    public static void main(String[] args) {
        String filePath = "C:\\Program Files\\Java\\jdk-17\\bin\\java.exe";
        String fileName = filePath.substring(filePath.lastIndexOf("\\") + 1);
        System.out.println("文件名是=====>" + fileName);
    }
}

輸出結(jié)果:
文件名是=====>java.exe

1.4 Linux 下目錄的特殊處理

Linux 系統(tǒng)中的路徑分隔符是正斜杠 /,因此處理起來相對簡單。例如:

public class Test {
    public static void main(String[] args) {
        String filePath = "/usr/local/bin/java";
        String fileName = filePath.substring(filePath.lastIndexOf("/") + 1);
        System.out.println("文件名是=====>" + fileName);
    }
}

輸出結(jié)果:
文件名是=====>java

2. 截取字符串的常見方法

2.1 常用方法

Java 提供了以下兩種常見的字符串截取方法:

  • split():根據(jù)分隔符拆分字符串,返回字符串?dāng)?shù)組。
  • substring():根據(jù)索引截取字符串。

2.2 方法介紹與應(yīng)用示例

方法一:split()

1. 使用一個參數(shù):split(String regex)

根據(jù)給定的正則表達(dá)式拆分字符串。注意,正則表達(dá)式可能會帶來性能損耗。

示例:

String str = "AB@CD";
String[] parts = str.split("@");
for (String part : parts) {
    System.out.println(part);
}

輸出結(jié)果:

AB  
CD  

2. 使用兩個參數(shù):split(String regex, int limit)

根據(jù)分隔符和分割次數(shù)來拆分字符串。

示例:

String str = "HelloWorld@qq@com";
String[] parts = str.split("@", 2);
for (String part : parts) {
    System.out.println(part);
}

輸出結(jié)果:

HelloWorld  
qq@com  

方法二:substring()

1. 單參數(shù):substring(int beginIndex)

從指定索引開始截取到字符串末尾。

示例:

String sb = "HelloWorld@qq.com";
String result = sb.substring(5);
System.out.println(result);

輸出結(jié)果:
World@qq.com

2. 雙參數(shù):substring(int beginIndex, int endIndex)

從指定的起始索引截取到結(jié)束索引(不包含結(jié)束索引對應(yīng)的字符)。

示例:

String sb = "HelloWorld@qq.com";
String result = sb.substring(0, 5);
System.out.println(result);

輸出結(jié)果:
Hello

3. 根據(jù)特定字符截取

可以通過 indexOf() 方法獲取特定字符的位置,從而靈活截取字符串。

示例:

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

輸出結(jié)果:
HelloWorld

總結(jié)

方法適用場景返回類型注意事項
split()按特定字符或正則表達(dá)式拆分字符串字符串?dāng)?shù)組正則性能可能會受影響
substring()根據(jù)索引截取部分字符串或處理路徑字符串小心索引越界

不同方法適用于不同場景。例如:

  • 需要簡單拆分時,用 split() 更直觀。
  • 處理路徑或特定字符截取時,substring() 更靈活高效。

通過靈活組合這些方法,能快速解決日常開發(fā)中的字符串處理問題!

到此這篇關(guān)于Java 字符串截取詳解:常見場景與方法的文章就介紹到這了,更多相關(guān)Java 字符串截取內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • spring集成httpclient配置的詳細(xì)過程

    spring集成httpclient配置的詳細(xì)過程

    spring框架是一個非常強(qiáng)大的框架這里就不多說了,那么主要是介紹spring與httpclient的整合集成過程,感興趣的朋友跟隨小編一起看看吧
    2021-07-07
  • spring batch 讀取多個文件數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫示例

    spring batch 讀取多個文件數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫示例

    本篇文章主要介紹了spring batch 讀取多個文件數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • Java管道流實現(xiàn)線程間通信過程解析

    Java管道流實現(xiàn)線程間通信過程解析

    這篇文章主要介紹了Java管道流實現(xiàn)線程間通信過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-03-03
  • 關(guān)于Java的二叉樹、紅黑樹、B+樹詳解

    關(guān)于Java的二叉樹、紅黑樹、B+樹詳解

    這篇文章主要介紹了關(guān)于Java的二叉樹、紅黑樹、B+樹詳解,能同時具備數(shù)組查找快的優(yōu)點以及鏈表插入和刪除快的優(yōu)點的數(shù)據(jù)結(jié)構(gòu)就是樹,需要的朋友可以參考下
    2023-05-05
  • IDEA中多行注釋及取消注釋的快捷鍵分享

    IDEA中多行注釋及取消注釋的快捷鍵分享

    這篇文章主要介紹了IDEA中多行注釋及取消注釋的快捷鍵分享,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • 老生常談Java反射機(jī)制(必看篇)

    老生常談Java反射機(jī)制(必看篇)

    下面小編就為大家?guī)硪黄仙U凧ava反射機(jī)制(必看篇)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • mybatis教程之增刪改查_動力節(jié)點Java學(xué)院整理

    mybatis教程之增刪改查_動力節(jié)點Java學(xué)院整理

    這篇文章主要介紹了mybatis教程之增刪改查,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • IDEA2022搭建Spring?Cloud多模塊項目的詳細(xì)過程

    IDEA2022搭建Spring?Cloud多模塊項目的詳細(xì)過程

    這篇文章主要介紹了IDEA2022搭建Spring?Cloud多模塊項目,網(wǎng)上有很多教程父模塊都是通過maven的方式創(chuàng)建的,然后子模塊是通過Spring?Initalizr方式創(chuàng)建,這種方式父模塊無法管理子模塊的依賴仲裁,需要每個子模塊自行管理,就失去了父模塊的用處了
    2022-10-10
  • 解決SpringMVC、tomcat、Intellij idea、ajax中文亂碼問題

    解決SpringMVC、tomcat、Intellij idea、ajax中文亂碼問題

    這篇文章主要介紹了解決SpringMVC、tomcat、Intellij idea、ajax中文亂碼問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • java模擬實現(xiàn)銀行ATM機(jī)操作

    java模擬實現(xiàn)銀行ATM機(jī)操作

    這篇文章主要為大家詳細(xì)介紹了java模擬實現(xiàn)銀行ATM機(jī)操作,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05

最新評論