I am very new to regular expressions. I need to construct a regular expression which if used in the code below would produce a newLine that had only letters (upper and lowercase), numbers, @, -, _ and ..

The following expression does not work: ([^\\w][^@][^-][^_][^\\.]). It replaces some of the letters and not all of the unwanted characters. Why doesn't it work?

String line = in.nextLine();
String newLine = line.replaceAll( "([^\\w][^@][^-][^_][^\\.])", " ");
有帮助吗?

解决方案

System.out.println(s.replaceAll("[^a-zA-Z0-9-_@.]",""));
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top