Ich mache eine Million verschiedene Regex Ersetzungen einer Zeichenfolge. Daher habe ich beschlossen, alle String-Regex- und String-Ersetzungen in einer file.txt zu speichern. Ich habe versucht, die Datei Zeile für Zeile zu lesen und zu ersetzen, aber es funktioniert nicht.Ersetzen Sie eine Million verschiedene Regex einer Zeichenfolge
replace_regex_file.txt
aaa zzz
^cc eee
ww$ sss
...
...
...
...
a million data
String user_input = "assume 100,000 words"; // input from user
String regex_file = "replace_regex_file.txt";
String result="";
String line;
try (BufferedReader reader = new BufferedReader(new FileReader(regex_file)) {
while ((line = reader.readLine()) != null) { // while line not equal null
String[] parts = line.split("\\s+", 2); //split process
if (parts.length >=2) {
String regex = parts[0]; // String regex stored in first array
String replace = parts[1]; // String replacement stored in second array
result = user_input.replaceAll(regex, replace); // replace processing
}
}
} System.out.println(result); // show the result
Coding Aber es nicht alles ersetzen. Wie kann ich das beheben?
Haben Sie Ihr Programm mit einem Debugger durchlaufen? – Idos
Sie sollten debuggen String [] parts = line.split ("\\ s +", 2); ;) – HRgiger