一、String.split()
String.split()是Java中最常用的字符串切割方法之一。這個方法的基本使用方法如下:
String str = "Hello,World"; String[] arr = str.split(",");
上面的代碼中,我們以逗號為分隔符,將字符串「Hello,World」切割成了一個數組。通過split()方法,我們可以將一個字符串按照任何一個字符或是字符串進行切割。
不過,這個方法也有一些缺陷,其中最大的問題就是性能問題。在處理大量數據的時候,使用這個方法會極大的降低程序的運行速度。
二、StringTokenizer
StringTokenizer是Java中另一個常用的字符串切割方法。
與String.split()不同,StringTokenizer更為原始和低層。它將一個字符串按照指定的分隔符進行切割,然後將每個切割後的子串存儲到一個Vector對象中。
以下代碼是StringTokenizer的基本使用:
String str = "Hello,World"; StringTokenizer st = new StringTokenizer(str, ","); while (st.hasMoreTokens()) { System.out.println(st.nextToken()); }
三、regex
在Java中,我們還可以使用正則表達式來對字符串進行切割。
以下代碼是通過regex來進行字符串切割的基本演示:
String str = "Hello, world"; String regex = "\\s+"; //以至少一個空格為分隔符 String[] arr = str.split(regex); //{"Hello,", "world"}
正則表達式的優點在於,可以根據不同的需求自定義分隔符,更加靈活方便。
四、使用Apache Commons Lang3
Apache Commons Lang是Apache公司的一個開源工具包,提供了許多方便和實用的類。
其中,Lang3中的StringUtils類提供了split()方法,用於對字符串進行切割。
以下是使用StringUtils.split()方法的一段代碼:
import org.apache.commons.lang3.StringUtils; String str = "Hi there"; String[] arr = StringUtils.split(str); // {"Hi", "there"}
需要注意的是,如果不指定分隔符,StringUtils.split()會默認使用空格或者製表符作為分隔符。
五、使用基於CharSequence的分隔符
除去以上的幾種方法之外,在Java 8中,我們還可以使用基於CharSequence的分隔符進行字符串切割。
以下是使用基於CharSequence的分隔符進行字符串切割的一段代碼:
String str = "This,is,a,comma,separated,string."; String delimiter = ","; String[] arr = str.split(Pattern.quote(delimiter));
相比較其他方法,基於CharSequence的分隔符更加靈活和方便,可以根據具體需求進行分隔符的選擇。
六、小結
本文介紹了Java中常用的幾種字符串切割方法,包括String.split()、StringTokenizer、regex、Apache Commons Lang3和基於CharSequence的分隔符。
如果需要對字符串進行切割,不同的需求可以使用不同的方法,達到更好的效果。
需要注意的是,在處理大量數據的時候,應該選擇性能更好的方法,以提升程序的運行效率。
原創文章,作者:UNAL,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/133884.html