How to reverse the middle words characters of a string in Java

1 Answer

0 votes
public class Program {

    public static String reverseMiddleWords(String s) {
        String[] words = s.split("\\s+");
        if (words.length < 3) {
            return s; // nothing to reverse
        }

        // Reverse characters of middle words
        for (int i = 1; i < words.length - 1; i++) {
            words[i] = new StringBuilder(words[i]).reverse().toString();
        }

        return String.join(" ", words);
    }

    public static void main(String[] args) {
        String input = "Hello how are you today";
        
        System.out.println(reverseMiddleWords(input));
    }
}


 
/*
run:
 
Hello woh era uoy today
 
*/

 



answered Dec 12, 2019 by avibootz
edited Dec 25, 2025 by avibootz
...