一、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-hant/n/233711.html