首頁 > 軟體

java中如何擷取字串最後一位

2022-07-06 14:03:46

擷取字串最後一位

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 = "HelloWorld@qq.com";
String str = sb.substring(5);
System.out.println(str);

執行結果:

World@qq.com

  • 2.傳入兩個引數:substring(int beginIndex, int endIndex)

從索引號beginIndex開始到索引號endIndex結束(返回結果包含索引為beginIndex的字元不包含索引endIndex的字元),如下所示:

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

執行結果:

Hello

  • 3.根據某個字元擷取字串

這裡根據”@”擷取字串(也可以是其他子字串)

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

執行結果:

HelloWorld

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

以上為個人經驗,希望能給大家一個參考,也希望大家多多支援it145.com。


IT145.com E-mail:sddin#qq.com