str.charAt(i)
'0' -- '9'
'a' -- 'z'
'A' -- 'Z'
......
'0' -- '9'
'a' -- 'z'
'A' -- 'Z'
......
解决方案 »
- java:通过父类的引用去访问子类对象
- 填数游戏
- 一个简单的问题!
- Collections.binarySearch(List list,Object key))出错
- 关于jdk1.4里面的jvm.dll,找不到,怎么办?谁知道怎么在C中调用Java方法?
- 有没有跟JBuilder一样支持便捷EJB开发的开发工具吗?而且要内存占用小
- 处理数据库的并发任务,用synchronized能解决冲突吗?
- 连接ORACLE的问题!
- 各位大侠请帮忙-JPanel和JApplet的问题
- java中的图像问题!(请各位帮个忙,敬请关注)
- 紧急求助:用JAVA编写FTP客户端软件
- 请问又没有什么用java编写的编译器,要有源代码的,要是gui的,能不能推荐一下?
把String处理成StringBuffer,然后删除里面的数字和;,最后判断该StringBuffer对象的长度。
...
static public boolean analyse(String s)
throws IOException
{
StringReader r = new StringReader(s);
StreamTokenizer st = new StreamTokenizer(r);
st.ordinaryChars(48,57);//1-9
st.ordinaryChar(';');//; while(st.nextToken() != StreamTokenizer.TT_EOF)
{
switch(st.ttype)
{
case StreamTokenizer.TT_EOL:
return false;
case StreamTokenizer.TT_NUMBER:
return false;
case StreamTokenizer.TT_WORD:
return false;
default:
break;
}
} return true;
}
...返回值:false -- 不是
true -- 是
int i=0;
int j=str.length();
char ch;
for(;i<j;i++){
ch=str.charAt(i);
if(!(ch==';'||ch>='0'&&ch<='9')){
return false;
}
return true;
}
public static boolean IsNum(String strin)
{
String s=strin.replaceAll("[0-9;]+","");
if(s.equals(""))
{
return true;
}else{
return false;
}
}
给分啦.
String s1="123;23231123";
java.util.regex.Pattern p=java.util.regex.Pattern.compile(s);
System.out.println(p.matches(s,s1));
如果输出的是true则表示匹配,也就是数字和;组成,如果返回false则表示不匹配
楼上那个"[0-9;]"不能完全匹配
不会吧,我用String s=";13411203456790;334987224;;;234;";//返回true
和String s=";134a11203456790;334987224;;;234;";//返回false
测过,正常的呀,你用什么字符串测的呢?
与正则式不能完全匹配,这里面至少要有一个';',不然返回的是false.
俺指的是不能完全匹配
后面两个用+和*的效果在这里都差不多
pubilc static boolean isMyPattern(String str) {
return java.util.regex.Pattern.matches("^[0-9;]*$",str);
}
如果是十分大的字符串,或者是直接判断一个文件的内容等等因素
还是用StreamTokenizer吧,就好像sax与dom的区别一样
建议搂主结帖
不知
^[0-9;]*$和
^[0-9;]*
[0-9;]*
[0-9;]*$
[0-9;]*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
有何区别,请指教!
public static boolean isMyPattern(String p, String str) {
return Pattern.compile(p).matcher(str).find();
}
pattern="^[0-9;]*$" str="a2;3" result=false
pattern="^[0-9;]*" str="2;3a" result=true
pattern="[0-9;]*" str="a2;3a" result=true
pattern="[0-9;]*$" str="a09" result=true
pattern="[0-9;]*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$" str="a123" result=true
{
for( int i=0;i<str.length;i++ )
if( !(Characher.isDigit(str.charAt(i)) || str.charAt(i)==';' )))
return false;
return true;}
请问在哪个包里面?
但是程序能用。