Java 如何确定字符串是否以特定字符开头?

Java 如何确定字符串是否以特定字符开头?,java,Java,Java中是否有内置方法来确定字符串是否以特定字符开头?如何将不以定义字符开头的行写入输出文件 try { File input = new File("input"); File output = new File("output"); Scanner sc = new Scanner(input); PrintWriter printer = new PrintWriter(output); while (

Java中是否有内置方法来确定字符串是否以特定字符开头?如何将不以定义字符开头的行写入输出文件

   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.");
    }

内置检查角色是否存在

while (sc.hasNextLine()) {
    String s = sc.nextLine();
    if (s.startsWith("?"))
        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++;
    }
}

不确定代码是否有效,我目前无法测试代码。但是你可能会有这个想法。

内置了一个检查角色是否在那里的功能

while (sc.hasNextLine()) {
    String s = sc.nextLine();
    if (s.startsWith("?"))
        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++;
    }
}

不确定代码是否有效,我目前无法测试代码。但是你可能会有这个想法。

在写入while循环之前,你可以很容易地检查文本

 if(check your string)
   printer.write(s);

在写入while循环之前,您可以轻松地检查文本

 if(check your string)
   printer.write(s);

您有一个字符串,所以您的问题实际上是如何知道字符串是否以某个字符开头。(事实上,你正在读写一个文件是无关紧要的。)正如下面的答案所示,一旦你知道如何做,你只需把它放在一个
if()
语句中。对于这样的问题,您的第一个调用端口是Javadoc for
java.lang.String
。我还对问题进行了编辑,以更好地反映他的问题。语法也更好。我同意Andrew Spencer的观点,我认为OP认为问题出在其他地方(与写入/读取文件有关)。你有一个字符串,所以你的问题实际上是如何知道字符串是否以某个字符开头。(事实上,你正在读写一个文件是无关紧要的。)正如下面的答案所示,一旦你知道如何做,你只需把它放在一个
if()
语句中。对于这样的问题,您的第一个调用端口是Javadoc for
java.lang.String
。我还对问题进行了编辑,以更好地反映他的问题。语法也更好。我同意Andrew Spencer的观点,我认为OP认为问题出在其他地方(与写入/读取文件有关)。好的,谢谢,但如果行的开头也有空格,那么我怎么说排除空格并开始检查字符的起始位置呢?在c=“”;必需字符,找到字符串。来吧,你可以自己试试,不是吗?查看如何设置字符值并查看出现了什么问题。。。老实说,我认为你现在只是在偷懒。。。将
替换为
好的,谢谢,但是如果行的开头也有空格怎么办,那么我怎么能说排除空房间并开始检查字符的起始位置呢"; 必需字符,找到字符串。来吧,你可以自己试试,不是吗?查看如何设置字符值并查看出现了什么问题。。。老实说,我认为你现在只是在偷懒。。。将
替换为