String str = "请您对您的言行负责,遵守中华人民共和国有关法律、法规,尊重网上道德";
StringTokenizer stringTokenizer = new StringTokenizer(str,"法律");
int count = 0;
while (stringTokenizer.hasMoreTokens()) {
System.out.println(stringTokenizer.nextToken());
count ++;
}
System.out.println(String.valueOf(count));
StringTokenizer stringTokenizer = new StringTokenizer(str,"法律");
int count = 0;
while (stringTokenizer.hasMoreTokens()) {
System.out.println(stringTokenizer.nextToken());
count ++;
}
System.out.println(String.valueOf(count));
int count=0;
while(str.indexOf("法律")>=0){
count++;
}
System.out.println(count);
Generated servlet error:
[javac] Since fork is true, ignoring compiler setting.
[javac] Compiling 1 source file
[javac] Since fork is true, ignoring compiler setting.
[javac] D:\Tomcat 4\work\Standalone\localhost\test\online\source\test_jsp.java:53: cannot resolve symbol
[javac] symbol : class StringTokenizer
[javac] location: class org.apache.jsp.test_jsp
[javac] StringTokenizer stringTokenizer = new StringTokenizer(str,"路篓??");
[javac] ^
[javac] D:\Tomcat 4\work\Standalone\localhost\test\online\source\test_jsp.java:53: cannot resolve symbol
[javac] symbol : class StringTokenizer
[javac] location: class org.apache.jsp.test_jsp
[javac] StringTokenizer stringTokenizer = new StringTokenizer(str,"路篓??");
[javac] ^
[javac] 2 errors
import java.lang.Object;
<%@ page contentType="text/html;charset=ISO8859_1"%>
<%@ page language="java"%>
<%@ page import="java.sql.*"%>
<%@ page import="java.text.*"%>
<%@ page import="java.io.*"%>
<%@ page import="java.lang.*"%>
<%@ page import="java.*"%>
<%
String str = "请您对您的言行负责,遵守中华人民共和国有关法律、法规,尊重网上道德";
StringTokenizer stringTokenizer = new StringTokenizer(str,"法律");
int count = 0;
while (stringTokenizer.hasMoreTokens()) {
System.out.println(stringTokenizer.nextToken());
count ++;
}
out.println(String.valueOf(count));
%>
javascript里用正则表达式很简单的就可以实现了。。
如果<%@ page contentType="text/html; charset=ISO8859_1" %>结果为4
不过这个问题可以用StringTokenizer(str,delim,false);来解决.又查了一下说明, StringTokenizer(String str, String delim);使用delim的每个字符作为分隔符.是不是可以用String的replaceAll()方法(jsdk1.4以上),将所以的"法律'换为原串中不存在的一个字符,再用StringTokenizer(String str, String delim, boolean returnDelims);?
int i = 0;
int count = 0;
s1 ="法律";
while(s.startsWith("s1",s.indexOf("s1"))&&s!=null)
{
s=s.substring(s.indexOf("s1")+"s1".length());
count++;
}
System.out.println(count);
这个应该可以我在自己的机器上已经试过了。