Wenn Ihr ‚Der Hintergrund dieser Kurzgeschichte in‘ Teil nicht in jeder Zeile ändert, dann können Sie Muster verwenden passende das neue Wort zu erhalten.
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
public static void main(String args[]) {
// String to be scanned to find the pattern.
String pattern = "The background to this short story in (.*)";
// Create a Pattern object
Pattern r = Pattern.compile(pattern);
// Now create matcher object.
String file = "fileLocation";
try (BufferedReader br = new BufferedReader(new FileReader(file))) {
String line;
while ((line = br.readLine()) != null) {
Matcher m = r.matcher(line);
if (m.find()) {
System.out.println("Found value: " + m.group(0));
System.out.println("Found value: " + m.group(1)); // GIVES YOU THE NEW WORD
} else {
System.out.println("NO MATCH");
}
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Sie das neue Wort in m.group (1) erhalten.
Sie können Dateien [Zeile für Zeile] lesen (http://stackoverflow.com/questions/5868369/how-to-read-a-large-text-file-line-by-line-using-java). Sie müssen es nicht als eine einzelne große Zeichenfolge behandeln. – zapl
Meinst du eine Zeichenfolge, wenn Sie eine Datei sagen? – AkashBhave
Sie können 'indexOf()' – Raju