【发布时间】:2019-09-26 21:36:45
【问题描述】:
我有一个。我要从中读取和写入的 csv 文件。如果有新的输入,它应该检查 string1 是否已经存在于文件中。 String1 可以包含数字、字符和空格。
写入文件完全没有问题,但是当它应该检查 string1 是否存在时,它仅在 string1 为 1 或 2 时才有效。但是 string1 将是一个由字符、数字和空格组成的字符串
Scanner scanner = new Scanner(file);
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
if(line.contains(string1)) {
// Print some error message
}
else{
// write output to .csv file
}
}
scanner.close();
我尝试过更改文件的编码,但这也无济于事..
【问题讨论】:
-
"abcde".contains("bc")有效,但您可能希望搜索字符串中的任何字符:"abcde".matches(".*[ae].*")。 -
当字符串是变量时如何搜索字符串中的任何字符?
-
line.matches(".*[" + string1 + "].*");基本上是,但一些特殊的正则表达式字符必须额外处理:-、]等。 -
我不是指任何字符,而是字符串本身。就像我输入 1234 时一样,如果是 123,它应该允许输入,但不是 1234 ..