Mam dane wejściowe ze słownika. Słownik jest iterowany, aby zastąpić key
ze słownika w tekście. Ale funkcja replaceAll
również zastępuje subString
.Jak zapewnić replaceAll zastąpi całe słowo, a nie podString
Jak upewnić się, że będzie on pasował całe słowo (jako całość, a nie jako subString
)
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());
}
Czy próbowałeś sprawdzić elementy "równe" przed wymianą? – Smutje
Nie dostałem pytania .. co masz na myśli przez równe ??? Używam całego tekstu, aby go zastąpić i nie zmyliłem go. – user2832203