javaregexreplaceall

replace \n and \r\n with <br /> in java


This has been asked several times for several languages but I can't get it to work. I have a string like this

String str = "This is a string.\nThis is a long string.";

And I'm trying to replace the \n with <br /> using

str = str.replaceAll("(\r\n|\n)", "<br />");

but the \n is not getting replaced. I tried to use this RegEx Tool to verify and I see the same result. The input string does not have a match for "(\r\n|\n)". What am i doing wrong ?


Solution

  • It works for me.

    public class Program
    {
        public static void main(String[] args) {
            String str = "This is a string.\nThis is a long string.";
            str = str.replaceAll("(\r\n|\n)", "<br />");
            System.out.println(str);
        }
    }
    

    Result:

    This is a string.<br />This is a long string.
    

    Your problem is somewhere else.