我需要boolean
来检查给定字符串是否遵循以下格式:
x.x.x 或 1.2.3 ,其中 x 是单个数字
if string format == x.x.x then TRUE.
if string format != x.x.x then FALSE.
我怎样才能做到这一点?
答案 0 :(得分:7)
您可以尝试使用此正则表达式:
String x = "9.8.7";
boolean matches = x.matches("\\d\\.\\d\\.\\d"); // true
请注意,点.
正在转义 \\.
,因为它在 regex 中具有特殊含义。
这里有一些输入/输出样本:
"99.8.7" -> false
"9.9.7." -> false
"9.97" -> false
答案 1 :(得分:3)
您可以使用Java中的正则表达式检查,如下所示:
String testString = "1.2.3";
boolean isCorrectFormat = testString.matches("\\d\\.\\d\\.\\d");
样本测试:
一些输入/输出样本:
"11.22.33" -> false
"1.2.3." -> false
"1.23" -> false
"1.1.1" -> True
答案 2 :(得分:3)
使用正则表达式\d\.\d\.\d
尝试String#matches。
String str="1.2.3";
boolean isMatch=str.matches("\\d\\.\\d\\.\\d");
答案 3 :(得分:2)
String testString = "1.2.3";
boolean isCorrectFormat = testString.matches("\\d\\.\\d\\.\\d"); \\ You have to escape the "."
答案 4 :(得分:1)
尝试:
public static void main(String[] args) {
String x = "1.2.3";
boolean hi = x.matches("[0-9].[0-9].[0-9]");
//or x.matches("\\d{1,10}\\.\\d{1,10}\\.\\d{1,10}");
//Where 1-> is the minimum digits and 10 is the maximum number of digits before .
System.out.println(hi);
}