我想构建一个函数来检查字符串是否为有效格式。
输入就是这样:
String str1 = "Chapter 1: Home"
String str2 = "Chapter 2: Revenge"
String str3 = "Chapter 3c: Return"
如果将字符串格式化为“章节”+ [空格] + [数字] +“:”,则该函数将返回true 如果不是
,则返回false输出:
True
True
False
编辑: 非常感谢您的快速回复 我已经意识到正则表达式是主要的一点。
答案 0 :(得分:1)
您应该尝试使用正则表达式。
Pattern.compile("^Chapter \\d+:.*").matcher(str).find();
答案 1 :(得分:1)
试试这个:
public static boolean isValid(String str) {
return str.matches("Chapter \\d:.*");
}
答案 2 :(得分:0)
查找String.matches(String regex)
答案 3 :(得分:0)
您可以使用正则表达式来测试字符串是否与特定模式匹配。正则表达式可能是这样的:
^Chapter \\d+: .*
^
表示必须以此字符串\\d+
表示必须是该地点的一个或多个数字.*
0次以上的任何字符然后功能就是这个(使用String#matches
)
public static boolean validChapter (String s) {
return s.matches("^Chapter \\d+: .*");
}
以下是一些测试:
public static void main(String[] args) {
String str1 = "Chapter 1: Home";
String str2 = "Chapter 2: Revenge";
String str3 = "Chapter 3c: Return";
String str4 = "Chapter 1:Return";
System.out.println(validChapter(str1)); // true
System.out.println(validChapter(str2)); // true
System.out.println(validChapter(str3)); // false
System.out.println(validChapter(str4)); // false
}