检查String是否只是换行符

Max*_*ine 1 java string line-breaks

我试图检查给定的字符串是否只包含换行符和没有字符.我用这种方法

boolean breaksNoLetters(String msg) {
   if (!msg.matches(".*[a-zA-Z]+.*") && msg.contains("\n")) {
       return true;
   } else {
       return false;
   }
}
Run Code Online (Sandbox Code Playgroud)

如果它包含换行符,则它不会返回false.

Kon*_*kov 10

为什么不对这个正则表达式进行测试?

if (msg.matches("[\\n\\r]+")) { }
Run Code Online (Sandbox Code Playgroud)

这个正则表达式匹配所有包含来自该组的一个或多个字符的字符串\n\r.


Avi*_*Raj 5

我试图检查给定的字符串是否只包含换行符和没有字符.

String Path1 = "\n\r";
String Path2 = "foo\nbar";
System.out.println(Path1.matches("[\\n\\r]+"));
System.out.println(Path2.matches("[\\n\\r]+"));
Run Code Online (Sandbox Code Playgroud)

"[\\n\\r]+"匹配一个或多个新行或回车符.如有必要,还可以在字符类中使用\\f(换页).

输出:

true
false
Run Code Online (Sandbox Code Playgroud)