3split方法
split方法是将字符串中的字符按照令牌字符(所谓令牌字符是指:给定字符串中的任何字符,字符串将按照整个字符进行拆分)分隔开。令牌字符可以是任何空白字符,其中包括空格符、制表符和换行符等,默认的令牌字符为空白字符。使用slipt方法可以将一个字符串拆分为许多个字符串。
2-24  string11=”this is a test!”
         string11.split()
其结果如图2-24所示。
 
2-24  str类的split方法之令牌字符为默认字符
在上例中,split方法没有指定令牌字符,故其采用默认的令牌字符空格。即string11是按照空格字符进行拆分的。
 
2-25  string12='0:1:2:3:4:5:6:7:8:9'
string12.split(‘:’)
其结果如图2-25所示。
 
2-25  str类的split方法之令牌字符为指定字符
上例中,split方法的令牌字符不再是默认字符,它被指定为冒号“:”,即字符串string11中的字符都以冒号分隔符分开,拆分为许多个小的字符串。
 
4join方法
join 方法的作用与 split 方法相反, 可以使多个短字符串序列形成一个长字符串。join方法也需要指定令牌字符,这些短字符串会以指定的令牌字符为连接字符,然后形成一个长字符串。
2-26  string13=”:”
string14=(' 0’,’1’,’2’,’3’)
string13.join(string14)
 
下面先来看一个问题:有字符串str=“string split test” ,使用String类的split方法,根据空格切分后的字符串数组有多少个元素?我们可以用下面的程序来测试:
 
String str = "string split test";
String[] result = str.split(" ");
System.out.println("Result size: " + result.length);
for (String s : result)
System.out.println(s);
程序输出为:
 
Result size: 3
string
split
test
嗯,和我们想的一样,原来的字符串被空格切分成了3个新的字符串。
 
再来看一个问题:有字符串str=“” (空字符串),使用String类的split方法,根据空格切分后的字符串数组有多少个元素?
还是用程序来测试:
str = "";
result = str.split(" ");  (或者用, 进行切分)
System.out.println("Result size: " + result.length);
for (String s : result)
System.out.println(s);
 
程序输出为:
Result size: 1
这里居然是java中split的用法1,而不是我之前认为的0,里面的元素是与原字符串相同的空字符串。
仔细想想,其实是有道理的。无论原字符串的内容是什么,通过split切分后,如果原字符串中没有出现切分定界符,那么切分结果就返回以原字符串为原始的字符串数组;如果原字符串中有切分定界符,则从定界符处将原字符串断开,将生成的新字符串按顺序以数组的形式返回。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。