java中如何判断String中输入的是数字? 用String.matches()中的这个正则表达式应该怎么写? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用正则表达式 \d*就可以如:String s = "Hello"; s.matches("\d*");\d 任意一个数字,0~9 中的任意一个 \w 任意一个字母或数字或下划线,也就是 A~Z,a~z,0~9,_ 中任意一个\s 包括空格、制表符、换页符等空白字符的其中任意一个 你想问的是判断String中输入的是包含数字还是全是数字?前者用String.matches("\\d+")后者用String.matches("\\^\\d+\\$") String a = "154545";Pattern regex = Pattern.compile("[0-9]*");Matcher match = regex.matcher(a);boolean flag = match.matches(); package test1;public class Test14 { /** * @param args */ public static void main(String[] args) { // TODO 自动生成方法存根 String st="12345678"; System.out.println(st.matches("\\d+")); System.out.println(st.matches("[1-9]+")); }}用正则判断还有很多方法,现帮你写两种, package test1;public class Test14 { /** * @param args */ public static void main(String[] args) { // TODO 自动生成方法存根 String st="-0.12345678"; System.out.println(st.matches("-*\\d+\\.*\\d+")); }}改一下正则式就可以了,这个应该可以满足了吧 System.out.println(st.matches("-*[0-9]+\\.*[0-9]+"));这句也满足 恩package test1;public class Test14 { /** * @param args */ public static void main(String[] args) { // TODO 自动生成方法存根 String st="-0.12345678"; System.out.println(st.matches("-?\\d+\\.*\\d+")); System.out.println(st.matches("-?[0-9]+\\.*[0-9]+")); }}这个应该更严谨一点?表示0个或一个 顶 joejoe1991() ( ) 信誉:98 2007-08-08 12:25:34 得分: 0 ^-?\\d+$ hibernate session性能问题 蛋疼的疑问...求解!!! 帮忙看看sql连接问题 新手,求解答. 如何让数据库取出的图片横着显示 请问怎么样把一个JDialog设置在最前? 函数问题,请教 为什么在编译器找不到同一个目录下定义的类?? 学java的两最? awt中的事件编程!!大家看看小弟刚学!!! 很有意思的一道题!!!! isLast()怎么用啊?
如:
String s = "Hello";
s.matches("\d*");
\d 任意一个数字,0~9 中的任意一个
\w 任意一个字母或数字或下划线,也就是 A~Z,a~z,0~9,_ 中任意一个
\s 包括空格、制表符、换页符等空白字符的其中任意一个
前者用String.matches("\\d+")
后者用String.matches("\\^\\d+\\$")
Pattern regex = Pattern.compile("[0-9]*");
Matcher match = regex.matcher(a);
boolean flag = match.matches();
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成方法存根
String st="12345678";
System.out.println(st.matches("\\d+"));
System.out.println(st.matches("[1-9]+"));
}}
用正则判断还有很多方法,现帮你写两种,
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成方法存根
String st="-0.12345678";
System.out.println(st.matches("-*\\d+\\.*\\d+"));
}}
改一下正则式就可以了,这个应该可以满足了吧
这句也满足
package test1;public class Test14 { /**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成方法存根
String st="-0.12345678";
System.out.println(st.matches("-?\\d+\\.*\\d+"));
System.out.println(st.matches("-?[0-9]+\\.*[0-9]+"));
}}
这个应该更严谨一点?表示0个或一个
joejoe1991() ( ) 信誉:98 2007-08-08 12:25:34 得分: 0
^-?\\d+$