package com.sort;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* 判断一个字符串是否为数值型字符串
*
* @author yangjianzhou 当是字符型字符串时返回1 否则返回0
*
*/
public class String1 {
public static void main(String args[]) {
System.out.println(isNumber1("+001"));
System.out.println(isNumber2("+1001"));
}
/**
* 使用字符串的matches方法
*
* @param s
* @return
*/
public static int isNumber1(String s) {
String regex = "^[1-9][0-9]*\\.[0-9]+$|^[1-9][0-9]*$|^0+\\.[0-9]+$";
char c = s.charAt(0);
boolean bool;
if (c == '+' | c == '-') {
bool = s.substring(1).matches(regex);
} else {
bool = s.matches(regex);
}
if (bool) {
return 1;
} else {
return 0;
}
}
/**
* 使用Pattern和Matcher类的方法
*
* @param s
* @return
*/
public static int isNumber2(String s) {
String regex = "^[1-9][0-9]*\\.[0-9]+$|^[1-9][0-9]*$|^0+\\.[0-9]+$";
Pattern pattern = Pattern.compile(regex);
char c = s.charAt(0);
if (c == '+' || c == '-') {
s = s.substring(1);
}
Matcher matcher = pattern.matcher(s);
boolean bool = matcher.matches();
if (bool) {
return 1;
} else {
return 0;
}
}
}
判断一个字符串是否为数值型字符串
最新推荐文章于 2020-10-13 21:37:48 发布