一、split方法的使用
Java中字符串分割最常用的方式就是使用String類的split()方法。該方法需要傳入一個分隔符,返回以該分隔符分割的字符串數組。下面是split方法的使用示例:
String str = "apple,banana,orange";
String[] arr = str.split(",");
for(String s : arr) {
System.out.println(s);
}
結果:
apple banana orange
上面代碼中,將字符串”apple,banana,orange”按逗號分隔成了一個字符串數組。
二、正則表達式分割字符串
使用正則表達式也可以對字符串進行分割,根據正則表達式中的規則進行分割。例如,想將”apple5banana9orange4″分割成數字和非數字兩個部分:
String str = "apple5banana9orange4";
String[] arr = str.split("\\d+"); //用\d表示數字,+表示匹配數字1個或多個
for(String s : arr) {
System.out.println(s);
}
結果:
apple banana orange
上面代碼中,使用\\d+表示匹配1個或多個數字,並用split方法對字符串進行分割。
三、StringTokenizer類的使用
StringTokenizer類也可以用來對字符串進行分割,該類提供了許多設置分隔符、返回分割後的子串等方法,使用比較靈活。下面是StringTokenizer類的使用示例:
String str = "apple,banana,orange";
StringTokenizer st = new StringTokenizer(str, ",");
while(st.hasMoreTokens()) {
System.out.println(st.nextToken());
}
結果:
apple banana orange
上面代碼中,將字符串”apple,banana,orange”按逗號分隔成了一個字符串數組。
四、案例:讀取文件中的數據
在讀取文件時,有時需要將其中的數據進行分割處理。下面是一個讀取文件並對每行數據進行分割的案例:
try {
BufferedReader br = new BufferedReader(new FileReader("data.txt"));
String str;
while ((str = br.readLine()) != null) {
String[] arr = str.split("\\s+"); //使用空白字符作為分隔符(包括空格、製表符和換行符)
for(String s : arr) {
System.out.print(s + ", ");
}
System.out.println();
}
br.close();
} catch (IOException e) {
e.printStackTrace();
}
假設data.txt文件中的內容為:
1 2 3 4 5 6 7 8 9
上面代碼中,使用BufferedReader讀取文件內容,使用split(“\\s+”)對每行數據進行按空白字符分割。輸出結果為:
1, 2, 3, 4, 5, 6, 7, 8, 9,
五、總結
在Java中,字符串分割的方法有split、正則表達式、StringTokenizer等。對於不同的情況,可以選擇不同的方法。當然,也可以自己編寫分割字符串的方法。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/233711.html
微信掃一掃
支付寶掃一掃