Ваш код неверен, поскольку вы не меняете переменную str
при вызове функции split (). Кроме того, насколько я понимаю, вы также хотите добавить префикс и суффикс к тем словам, которые содержат слово «мир». Например, если ваша строка выглядит примерно так: Hello worldJava! welcome to java world
, вы хотите отобразить что-то вроде этого: Hello PREFIX_worldJava_SUFFIX! welcome to java PREFIX_world_SUFFIX
. (Обратите внимание, что предыдущие ответы не смогли бы выполнить такую замену).
String str = "Hello world. welcome world java.";
String[] wordArr = str.split("[. ]");
Set<String> words = new HashSet<>(Arrays.asList(wordArr));
for (String w: words) {
if(w.toLowerCase().contains("world")){
str = str.replace(w, "PREFIX_"+ w +"_SUFFIX");
}
}
System.out.println(str);
Обратите внимание, что я использую java Set для анализа уникальных слов из входной строки, а затем их замены в исходной строке с добавленным префиксом / суффиксом.