Java字串分割的3種方法

  • Post category:javase

Java字串分割當你的資料來源,有使用特定符號做分隔的時候,需要依照特定符號進行字串分割。這樣的功能,隨著時間的推演,有發展出了幾種方法,每一種都有不同之處與限制,不過,如果你只是要找逗號來分割字串,這三種都可以使用。

Java字串分割

Java字串分割-使用StringTokenizer

java.util.StringTokenizer 這個物件從 Java 1.0 開始就存在了! 算是元老級的物件了,想當然在其他字串分割的API還沒出世以前,他就是大家常用的物件。

使用方式:

package test;
import java.util.StringTokenizer;
public class UseST {
	public static void main(String[] args) {
		String citys="台北市,新北市,桃園市,新竹市";
		StringTokenizer st= new  StringTokenizer(citys,",");//這邊要指定資料來源以及分割符號
		while(st.hasMoreTokens()) {
			String cityname=st.nextToken();
			System.out.println(cityname);
		}
	}
}

執行結果:

台北市
新北市
桃園市
新竹市

Java字串分割-使用String.split()

java.lang.String 中的 method split() 是從 java 1.4 才加入的。也是目前大家常用的分割方式。

使用方式:

package test;
public class UseSplit {
	public static void main(String[] args) {
		String str = "台北市,新北市,桃園市,新竹市";
		String[] tokens = str.split(",");
		for (String token:tokens) {
		   System.out.println(token);
		}
	}
}

執行結果:

台北市
新北市
桃園市
新竹市

若遇到特殊字元分割符號需要另加處理。

如”.”, “|”, “$”,此時要在特殊字元前面加上”\”,才會得到正確的結果。

		String str = "台北市.新北市.桃園市.新竹市";
		String[] tokens = str.split("\\.");

歡迎分享轉載,請註明出處

蘇娜 Java Blog:Java字串分割的3種方法

Java字串分割-使用Scanner 

java.util.Scanner 是從 java1.5 開始加入。他可以從 io stream 讀取資料進行分割,也可以直接對字串進行分割。

使用方式:

package test;
import java.util.Scanner;
public class UseSC {
	public static void main(String[] args) {
		String citys="台北市,新北市,桃園市,新竹市";
		Scanner sc =new Scanner(citys);
		sc.useDelimiter(",");
		while(sc.hasNext()){
			System.out.println(sc.next());
		}
		sc.close();
	}
}

執行結果:

台北市
新北市
桃園市
新竹市

如何使用Java字串分割-String.split()

String str = “台北市,新北市,桃園市,新竹市”;
String[] tokens = str.split(“,”);

如何使用Java字串分割-使用StringTokenizer

String citys=”台北市,新北市,桃園市,新竹市”;
StringTokenizer st= new StringTokenizer(citys,”,”);//這邊要指定資料來源以及分割符號
while(st.hasMoreTokens()) {
String cityname=st.nextToken();
System.out.println(cityname);
}

如何使用Java字串分割-使用Scanner 

String citys=”台北市,新北市,桃園市,新竹市”;
Scanner sc =new Scanner(citys);
sc.useDelimiter(“,”);
while(sc.hasNext()){
System.out.println(sc.next());
}

喜歡我的文章可以追蹤我的FB粉專,或是加入社團一起交流Java技術,認證,或是工作喔!