问题是:
添加静态方法boolean isValidNumber(String aNumber)
。
检查数字是否符合模板' ddd-dd-dddd', 每个人都在这里在模板中代表一个数字和' - '为一个 ' - '字符。
可以请任何人提示如何做到这一点吗?
答案 0 :(得分:1)
您需要做的就是使用String
matches
方法与正则表达式String
进行比较。
return aNumber.matches("\\d\\d\\d-\\d\\d-\\d\\d\\d\\d");
答案 1 :(得分:1)
检查出来:
public static boolean isValidNumber(String aNumber) {
if (aNumber.matches("\\d{3}-\\d{2}-\\d{4}")) {
// Match found
return true;
}
// Not a valid number
return false;
}
答案 2 :(得分:1)
这样做
public boolean isValidNumber(String aNumber){
return aNumber.matches("\\d{3}-\\d{2}-\\d{4}")
}
答案 3 :(得分:1)
为您的特定序列试用此正则表达式
^[0-9]{3}\-[0-9]{2}\-[0-9]{4}$
这绝对有助于你。
public class Sample
{
public static void main(String ar[])
{
String aNumber= "254-58-3698";
isValidNumber(aNumber);
}
public static Boolean isValidNumber(String aNumber)
{
String pattern = "^[0-9]{3}\\-[0-9]{2}\\-[0-9]{4}$";
// Create a Pattern object
Pattern r = Pattern.compile(pattern);
// Now create matcher object.
Matcher m = r.matcher(line);
if (m.find( )) {
System.out.println("Number has Matched");
return true;
} else {
System.out.println("NO MATCH");
return false;
}
}
}
输出:
Number has Matched
答案 4 :(得分:1)
如果您经常调用此方法,则可以使用预先构建的模式。
static final Pattern DDD_DD_DDD = Pattern.compile("\\d{3}-\\d{2}-\\d{4}");
public static boolean isDDD_DD_DDDD(String text) {
return DDD_DD_DDD.matcher(text).matches();
}
public static void main(String... ignored) {
for(String text: "Hello, 123-45-6789, 111-22-3333, 11-222-3333".split(", ")) {
System.out.println(text+" is valid: "+isDDD_DD_DDDD(text));
}
}
打印
Hello is valid: false
123-45-6789 is valid: true
111-22-3333 is valid: true
11-222-3333 is valid: false