How to reverse words in a string that has line feed (\n or \r) with Java

4 Answers

0 votes
public class MyClass {
    public static void main(String args[]) {
        String s = "java\n" + 
                   "c\n" +
                   "php\n" + 
                   "python\n";
        
        s = reverseWords(s);
        System.out.println(s);
    }
    public static String reverseWords(String s) {
        StringBuilder sb = new StringBuilder();
        String[] arr = s.split("(?<=\\s)|(?=\\s)");
        for (int i = arr.length -1; i >= 0; i--) {
            sb.append(arr[i]);
        }
        return sb.toString();
    }
}

/*
run:
       
python
php
c
java
   
*/

 



answered Jul 26, 2018 by avibootz
0 votes
public class MyClass {
    public static void main(String args[]) {
        String s = "java\n" + 
                   "c\n" +
                   "php\n" + 
                   "python\n";
        
        s = reverseWords(s);
        s = s.replaceAll("\\r","\\\\r").replaceAll("\\n","\\\\n");
        System.out.println(s);
    }
    public static String reverseWords(String s) {
        StringBuilder sb = new StringBuilder();
        String[] arr = s.split("(?<=\\s)|(?=\\s)");
        for (int i = arr.length -1; i >= 0; i--) {
            sb.append(arr[i]);
        }
        return sb.toString();
    }
}

/*
run:
       
\npython\nphp\nc\njava
   
*/

 



answered Jul 26, 2018 by avibootz
0 votes
public class MyClass {
    public static void main(String args[]) {
        String s = "java\n" + 
                   "c\n" +
                   "php\n" + 
                   "python\n";
        
        s = reverseWords(s);
        System.out.println(s);
    }
    public static String reverseWords(String s) {
        StringBuilder sb = new StringBuilder();
        String[] arr = s.split("[\n\r]");
        for (int i = arr.length - 1; i >= 0; i--) {
            String[] words = arr[i].split(" ");
            for (int j = words.length - 1; j >= 0; j--) {
                sb.append(words[j]).append(" ");
            }
            sb.append("\n");
        }   
        return sb.toString();
    }
}

/*
run:
       
python 
php 
c 
java 

*/

 



answered Jul 26, 2018 by avibootz
0 votes
public class MyClass {
    public static void main(String args[]) {
        String s = "java\n" + 
                   "c\n" +
                   "php\n" + 
                   "python\n";
        
        s = reverseWords(s);
        s = s.replaceAll("\\r","\\\\r").replaceAll("\\n","\\\\n");
        System.out.println(s);
    }
    public static String reverseWords(String s) {
        StringBuilder sb = new StringBuilder();
        String[] arr = s.split("[\n\r]");
        for (int i = arr.length - 1; i >= 0; i--) {
            String[] words = arr[i].split(" ");
            for (int j = words.length - 1; j >= 0; j--) {
                sb.append(words[j]);
            }
            sb.append("\n");
        }   
        return sb.toString();
    }
}

/*
run:
       
python\nphp\nc\njava\n

*/

 



answered Jul 26, 2018 by avibootz
...