我们再来看看Java的字符串分割另外一种方法,使用 StringTokenizer
可以使用 StringTokennizer 设置不同分隔符来分隔字符串,其默认的分割符是: 空格 "",制表符 (\t), 换行符(\n), 回车符(\r)
StringTokenizer 和 split是由区别的。我们来具体看下实例
其中包含使用空格,逗号来分割字符串
public class StringTestTokenizer {
public static void main(String[] args) {
String str = "He , llo , wor, ld!"; String str1 = str.trim(); //去掉首尾空格 String str2 = str.replace(" ",""); System.out.println(str2); //使用StringTokenizer来分割字符串
StringTokenizer st = new StringTokenizer(str); //通过空格分割
while(st.hasMoreElements()) {
System.out.println(st.nextElement()); }
//通过逗号来分割 StringTokenizer st1 = new StringTokenizer(str,","); //实例化对象 while (st1.hasMoreElements()){
System.out.println(st1.nextElement()); }
}
}
可以看到StringTokenizer的语法是实例化对象(字符串),如果以空格为分割符,就是(str) 如果是逗号,就是 (str,",");
这里我们再说下split和StringTokenizer的区别,如下:
public class LiuLangJianKe {
//使用split分割字符/使用StringTokenizer来分割字符
public static void main(String[] args) {
String str = "Happy birthday, rpc!"; //将字符串从th处分割 split String[] arg = str.split("th"); for (String str1:arg
) {
System.out.println(str1); }
System.out.println("----------------------");
//使用StringTokenizer类进行分割 还是 th StringTokenizer st = new StringTokenizer(str,"th"); while(st.hasMoreElements()){
System.out.println(st.nextElement()); }
}
}
都是以th为分割符,可以看到结果是一样的。
但是这两种方式肯定是有区别的,区别是什么呢,来看看实例
String str1 = "Hello,world,etst";String[] arg1 = str1.split("el");for (String str2:arg1
) {
System.out.println(str2);}
System.out.println("----------------------");StringTokenizer st1 = new StringTokenizer(str1,"el");while (st1.hasMoreElements()){
System.out.println(st1.nextElement());}
换了一个字符串,看下结果
H
lo,world,etst
----------------------
H
o,wor
d,
tst
可以看出:
split 以整个字符串进行切割
StringTokenizer 以给定分割字符串的每个字符进行分割
分割字符串同样是“el”,但是结果却不一样,StringTokenizer分割原理是:只要有字符e和l的地方都进行切割,而split是只在字符串el的地方切割。
好了,今天就到这里吧
标签:分割,Java,String,str,System,大写,StringTokenizer,小写,println From: https://blog.51cto.com/u_11894/5749743