Java字符串格式检查

时间:2014-07-05 02:52:58

标签: java string

我想构建一个函数来检查字符串是否为有效格式。

输入就是这样:

String str1 = "Chapter 1: Home"

String str2 = "Chapter 2: Revenge"

String str3 = "Chapter 3c: Return"

如果将字符串格式化为“章节”+ [空格] + [数字] +“:”,则该函数将返回true 如果不是

,则返回false

输出:

True
True
False

编辑: 非常感谢您的快速回复 我已经意识到正则表达式是主要的一点。

4 个答案:

答案 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
}