分享一下这个问题,蛮简单的,分享给大家,知识这个东西真的需要分享!!!
//String.split()拆分字符串
//public String[] split(String regex, int limit) limit为-1,尽可能多的拆分
@Test
public void t1(){
String nameStr="Harry James Potter";
//"\s"表示空格
String[] nameStrArray=nameStr.split("\s");
//也可以来" "来进行拆分,这种方法要注意中间只能有一个空格,如果有两个空格则不能正常拆分,最后得到的仍是原有字符串
//String[] nameStrArray=nameStr.split(" ");
for(String name:nameStrArray){
System.out.println(name);
}
}
/**
* public StringTokenizer(String str,String delim,boolean returnDelims)
public StringTokenizer(String str,String delim)
public StringTokenizer(String str)
delim 参数中的所有字符都是分隔标记的分隔符,即是拆分的标识字符串,以此字符对字符串进行拆分。
returnDelims 是不是也返回分隔符,true 也就作为标记返回【Harry , James , Potter】5个,false就不是【Harry James Potter】3个
*/
@Test
public void t2(){
String nameStr="Harry,James,Potter,Potter";
//将要拆分的字符传入构造函数中,生成一个token对象
StringTokenizer strToken=new StringTokenizer(nameStr,",",false);
//当有拆分的子字符串时,输出这个字符串
/**
* Harry
3
James
2
Potter
1
Potter
0
*/
while(strToken.hasMoreTokens()){
System.out.println(strToken.nextToken());
System.out.println(strToken.countTokens());
}
while(strToken.hasMoreElements()){//返回与 hasMoreTokens方法相同的值。
System.out.println(strToken.nextElement());//返回与 nextToken方法相同的值,但其声明的返回值为 Object而不是 String 。
}
}