一、对于功能需求比价简单的字符串,例如只需要按单个标点分割的字符串,可以使用split()方法来分割
例如:String s1 =“Hellow World”;
String s1 = "Hello World";
String[] s2 = s1.split(" ");
for (String s3 : s2) {
System.out.println(s3);
}
按空格分割s1,然后将分割好的单词放进数组里面保存
运行结果:
只需要替换split(" ")里面的内容就可以按自己需求分割字符了
二、同时按照多个标点符号分割字符
现实中我们遇到的文本大都不是“Hello world”这样简单的格式,而是掺杂各种标点符号,继续采用split()方法就有些力不从心且低效了
这个时候我们可以使用StringTokenizer来分割字符
Java StringTokenizer 属于 java.util 包,用于分隔字符串
用法1:
使用默认的分隔符,即传入字符串,不指定分隔符,java 默认的分隔符是空格(“”)、制表符(\t)、换行符(\n)、回车符(\r)。
还是以Hello World为例
将"Hello World"改为 “Hello \r World \t Hello \n World”
String s1 = "Hello \r World \t Hello \n World";
直接输出效果:
用StringTokenizer分隔:
String s1 = "Hello \r World \t Hello \n World";
StringTokenizer str = new StringTokenizer(s1);
输出结果:
用法2:
使用指定字符串分隔
例:将String s= "Join says:‘Hello ,word’"里面的单词全部分隔开
String s= "Join says:'Hello ,word'";
StringTokenizer str = new StringTokenizer(s," ,:'");
while (str.hasMoreElements()){
System.out.println(str.nextElement());
}
输出结果:
这里用到了StringTonizer的第二个构造方法,StringTokenizer(String str, String delim)
传入分隔符时,只需要把想要分隔的符号全部写入即可,没有次序,不需要特殊符号分离参数。