I\'m trying to write a regular expression in Java which removes all non-alphanumeric characters from a paragraph, except the spaces between the words.
This is the co
You need to escape the \ so that the regular expression recognizes \s :
paragraphInformation = paragraphInformation.replaceAll("[^a-zA-Z0-9\\s]", "");
Generally whenever you see that error, it means you only have a single backslash where you need two:
paragraphInformation = paragraphInformation.replaceAll("[^a-zA-Z0-9\\s]", "");
You need to double-escape the \
character: "[^a-zA-Z0-9\\s]"
Java will interpret \s
as a Java String escape character, which is indeed an invalid Java escape. By writing \\
, you escape the \
character, essentially sending a single \
character to the regex. This \
then becomes part of the regex escape character \s
.
Please take a look at this site, you can test Java Regex online and get wellformatted regex string patterns back:
http://www.regexplanet.com/advanced/java/index.html
Victoria, you must write \\s
not \s
here.