java - java中扫描仪的分隔符和正则表达式

标签 java regex delimiter

我正在尝试逐字读取输入,但无法弄清楚如何将扫描仪的分隔符设置为空格和标点符号,除了 ' (单引号)。 这是我得到的

BufferedReader input;
String line;
Scanner sc;
String word;
try  {
    input = new BufferedReader(new FileReader(path));
    while (input.ready()) {
        line = input.readLine();
        System.out.println("Current Line: " + line);
        sc  = new Scanner(line);
        sc.useDelimiter("\\W\\s^\'");
        //...
    }
}
//...  

最佳答案

我想你的意思是?

sc.useDelimiter("\\W\\s^\'");

我会用

sc.useDelimiter("[^\\w']+");

String line= "Hello, world!\n 'Computer\n \n Science'\n Hell\n";
System.out.println(Arrays.toString(line.split("[^\\w']+")));

打印

[Hello, world, 'Computer, Science', Hell]

String line= "Hello, world!\n 'Computer\n \n Science'\n Hell\n";
Scanner scan = new Scanner(line);
scan.useDelimiter("[^\\w']+");
while(scan.hasNext())
    System.out.print("|"+scan.next());
System.out.println("|");

打印

|Hello|world|'Computer|Science'|Hell|

关于java - java中扫描仪的分隔符和正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9325184/

相关文章:

java - GWT - 如何读取服务器上的(文本)文件(或 : how to get the servletContext in RemoteServiceServlet)

python 日期正则表达式

C++ 字符串和分隔符

Java访问误区

java - 如何在Java GUI中释放文件而不关闭

arrays - 在 Ruby 中,如何检查数组中是否至少有 80% 的元素与某个模式匹配?

php - preg_match 分隔符错误

python - 拆分一个不带空格的十进制值字符串 - Python

java - Jackson Unmarshalling 未提供的值

python - 或者正则表达式中文字字符串的条件