我正试着删除从一个文件中得到的所有换行符。但是我不能删除NEL
行终止符,我发现\R Linebreak匹配器Any Unicode linebreak序列,等价于:
[\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");
}
}
}
1条答案
按热度按时间nzrxty8p1#
这是因为你的正则表达式是错误的。
在slashy-string中,反斜杠失去了它在String中的特殊意义。所以
/\\R/
等于'\\\\R'
,所以你要搜索一个反斜杠,后面跟着一个大写的R。删除其中一个反斜杠或使字符串带有单引号或双引号,您应该找到匹配。