Ich habe einen Eingang des Wörterbuchs. Das Wörterbuch wird iteriert, um das key
aus dem Wörterbuch im Text zu ersetzen. Aber replaceAll
Funktion ersetzt die subString
auch.Wie sicherzustellen, dass replaceAll ein ganzes Wort und nicht eine Unterzeichenfolge ersetzen wird
Wie um sicherzustellen, dass es das ganze Wort (als Ganzes und nicht als subString
) übereinstimmen
String text= "Synthesis of 1-(2,6-dimethylbenzyl)-1H-indole-6-carboxylic acid [69-3] The titled compound (883 mg) sdvfshd[69-3]3456 as a white solid was prepared"
dictionary= {[69-3]=1-(2,6-dimethylbenzyl)-1H-indole-6-carboxylic acid }
for(Map.Entry<String, String> entry : dictionary.entrySet()){
text=text.replaceAll("\\b"+Pattern.quote(entry.getKey())+"\\b", entry.getValue());
}
Haben Sie versucht, die Elemente vor dem Ersetzen auf "gleich" zu prüfen? – Smutje
Ich habe die Frage nicht bekommen .. was meinst du mit gleich ??? Ich benutze den gesamten Text zu ersetzen und habe es nicht in Tokens. – user2832203