java按单个或多个标点符号分割字符串,筛选单词
一、对于功能需求比价简单的字符串,例如只需要按单个标点分割的字符串,可以使用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 默认的分隔符是空格(“”)、制表符( )、换行符( )、回车符( )。 还是以Hello World为例 将"Hello World"改为 “Hello World Hello World”
String s1 = "Hello World Hello World";
直接输出效果:
用StringTokenizer分隔:
String s1 = "Hello World Hello 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) 传入分隔符时,只需要把想要分隔的符号全部写入即可,没有次序,不需要特殊符号分离参数。