[java]StringTokenizei总结
构造函数三种
StringTokenizer(String str)//构造一个用来解析 str 的 StringTokenizer 对象。java 默认的分隔符是空格("")、制表符(\t)、换行符(\n)、回车符(\r)。
StringTokenizer(String str, String delim)//构造一个用来解析 str 的 StringTokenizer 对象,并提供一个指定的分隔符。
StringTokenizer(String str, String delim, boolean returnDelims)//构造一个用来解析 str 的 StringTokenizer 对象,并提供一个指定的分隔符,同时,指定是否返回分隔符。
如果需要第三个参数,则写true,即分割后也会保留分割用的子串
案例(计算子串出现次数)
如输入主串"abbaa",子串"a",则子串数为3
import java.util.*;
class CountSubString
{
void countSubString(String s, String substring)
{
int result = 0;
StringTokenizer ns=new StringTokenizer(s, substring,true);
result=ns.countTokens();
if(result!=1||!s.equals(substring))//主串中不含子串时分个数为1
result-=1;
System.out.println("子串有"+result+"个");
}
}
public class CountString {
public static void main(String args[])
{
Scanner reader=new Scanner(System.in);
System.out.println("请输入字符串:");
String s=reader.nextLine();
System.out.println("请输入你要检索的子串:");
String substring=reader.nextLine();
CountSubString a=new CountSubString();
a.countSubString(s, substring);
}
}