在下面的代码中,我试图激活if语句。在if语句中,xxxxx可以等于任何长度的任何字符,但最后的.txt是必需的。
import java.util.Scanner;
public class Example {
public static void main(String args[]) {
Scanner keyboard = new Scanner (System.in);
String save = keyboard.nextLine();
if ("save xxxxx.txt".equals(save)) {
System.out.println("Success!");
} else {
System.out.println("Failed!");
}
}
}
我应该可以输入如下内容:
它不应该在这些情况下通过:
所有帮助表示感谢。
答案 0 :(得分:2)
尝试一些RegEx,如下所示:
if (save.matches("save .+\\.txt")) {
答案 1 :(得分:1)
我认为String::contains
和String::endsWith
的组合可以解决这个问题。
if (save.contains("something") && save.endsWith("something")){
//do something
}
答案 2 :(得分:0)
试试这个,
Scanner keyboard = new Scanner(System.in);
String save = keyboard.nextLine();
String s = "save "+save.replace("save", "").replace(".txt", "").trim()+".txt";
System.out.println(s);
System.out.println(save);
if (s.equals(save))
{
System.out.println("Success!");
}
else
{
System.out.println("Failed!");
}
答案 3 :(得分:-1)
您可以使用Regex
一些基本限制,例如
token.matches("save\\.[A-Z]*[0-9]*[_]*[-]*\\.txt"))
进一步限制这一点。