我正在尝试从文件中删除所有换行符。
但我无法删除NEL
行终止符,我发现\ R Linebreak matcher任何Unicode换行符序列,相当于:
[\u000D\u000A|[\u000A\u000B\u000C\u000D\u0085\u2028\u2029]
下面是我的代码,所以使用一个最后包含NEL
的简单字符串,匹配器找不到断行,任何人都知道如何做到这一点?
import java.util.regex.Matcher
import java.util.regex.Pattern
class LineBreakDeleter {
static void main (String []args){
String line="hello";
Pattern pattern = Pattern.compile(/\\R/);
Matcher matcher = pattern.matcher(line);
if (matcher.find())
{
System.out.println("Found");
}
}
}
答案 0 :(得分:1)
那是因为你的正则表达式是错误的。
在一个斜线字符串中,反斜杠在字符串方面失去了它的特殊含义。所以/\\R/
等于'\\\\R'
,所以你要搜索一个反斜杠后跟一个上面的R.删除一个反斜杠或用单引号或双引号创建String你应该找到一个匹配