Java中是否有内置方法来确定String是否以特定字符开头?如何只在输出文件中写入不以定义字符开头的行?
try {
File input = new File("input");
File output = new File("output");
Scanner sc = new Scanner(input);
PrintWriter printer = new PrintWriter(output);
while (sc.hasNextLine()) {
String s = sc.nextLine();
printer.write(s);
}
printer.flush();
}
catch (FileNotFoundException e) {
System.err.println("File not found. Please scan in new file.");
}
答案 0 :(得分:1)
检查角色是否在那里。
while (sc.hasNextLine()) {
String s = sc.nextLine();
if (s.startsWith("?"))
printer.write(s);
}
或者
while (sc.hasNextLine()) {
String s = sc.nextLine();
char c = s.charAt(0);
if (c.matches('?'))
printer.write(s);
}
编辑:根据您的评论:
int i;
char c;
String s;
while (sc.hasNextLine()) {
s = sc.nextLine();
c = ' ';
i = 0;
while (c.matches(' ')) {
c = s.charAt(i);
if (c.matches('?'))
printer.write(s);
i++;
}
}
不确定代码是否有效,我目前无法测试代码。但你可能会有这个想法。
答案 1 :(得分:0)
您可以在写入while循环之前轻松检查文本。
if(check your string)
printer.write(s);