使用Groovy从String中删除NEL换行符?

时间:2017-06-12 13:00:11

标签: regex eclipse groovy matcher

我正在尝试从文件中删除所有换行符。 但我无法删除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");
                }
        }
}

1 个答案:

答案 0 :(得分:1)

那是因为你的正则表达式是错误的。

在一个斜线字符串中,反斜杠在字符串方面失去了它的特殊含义。所以/\\R/等于'\\\\R',所以你要搜索一个反斜杠后跟一个上面的R.删除一个反斜杠或用单引号或双引号创建String你应该找到一个匹配