我试图使简单的正则表达式,将检查一行是否为空白。

情况;

"    some"   // not blank
"   " //blank
"" // blank

当前回答

不知何故,这里的答案都不适合我,当我有字符串填充只是空格,偶尔字符串没有内容(只是行结束符),所以我用这个代替:

if (str.trim().isEmpty()) {
    doSomethingWhenWhiteSpace();
}

其他回答

嗯…我摆弄了一下(使用notepadd++),这就是我找到的解决方案

\n\s

\n表示行结束(从哪里开始匹配)——在我的情况下,插入符号不会有帮助,因为行开始是一个字符串 \s占用下一个字符串之前的任何空格

希望能有所帮助

试试这个:

^\s*$

最可移植的正则表达式是^[\t\n]*$来匹配空字符串(注意,您需要相应地用制表符和换行符替换\t和\n)和[^ \n\t]来匹配非空白字符串。

不知何故,这里的答案都不适合我,当我有字符串填充只是空格,偶尔字符串没有内容(只是行结束符),所以我用这个代替:

if (str.trim().isEmpty()) {
    doSomethingWhenWhiteSpace();
}

这个答案完全归功于bchr02。但是,我必须稍微修改它,以捕捉带有*/(注释结束)的行后面跟着空行的场景。正则表达式用*/匹配非空行。

新:(^ (\ r \ n \ n | | \ r) $) | (^ (\ r \ n \ n | | \ r)) | ^ \ s *美元/通用

我所做的只是添加^作为第二个字符来表示行开始。