Replace new line/return with space using regex
java, regex
Solution
`\s` is a shortcut for whitespace characters in regex. It has no meaning in a string. ==> You can't use it in your replacement string. There you need to put exactly the character(s) that you want to insert. If this is a space just use `" "` as replacement.
The other thing is: Why do you use 3 backslashes as escape sequence? Two are enough in Java. And you don't need a `|` (alternation operator) in a character class.
L.replaceAll("[\\t\\n\\r]+"," ");
Remark
`L` is not changed. If you want to have a result you need to do
String result = L.replaceAll("[\\t\\n\\r]+"," ");
Test code:
String in = "This is my text.\n\nAnd here is a new line";
System.out.println(in);
String out = in.replaceAll("[\\t\\n\\r]+"," ");
System.out.println(out);
Problem
Pretty basic question for someone who knows. Instead of getting from ``` "This is my text. And here is a new line" ``` To: ``` "This is my text. And here is a new line" ``` I get: ``` "This is my text.And here is a new line. ``` Any idea why? ``` L.replaceAll("[\\\t|\\\n|\\\r]","\\\s"); ``` I think I found the culprit. On the next line I do the following: ``` L.replaceAll( "[^a-zA-Z0-9|^!|^?|^.|^\\s]", ""); ``` And this seems to be causing my issue. Any idea why? I am obviously trying to do the following: remove all non-chars, and remove all new lines.