Java使用正则表达式拆分将字符串放入数组

时间:2015-02-05 18:14:04

标签: java arrays regex string split

我正在尝试将一个字符串放入一个数组中,这样我就可以按照与我正在阅读的原始文件中不同的顺序打印标记。

下面是我到目前为止的代码,我还包括了我正在阅读的输入文件。我希望能够做的是从原始文件中打印一个单词; 的System.out.println(令牌[4]); 哪个会打印'物种'

import java.util.Scanner;

public class inClassTest4Time {

  public static void main(String[] args) {

Scanner scan = new  
Scanner(inClassTest4Time.class.getResourcesAsStream("pet.txt"));
String line;
String[] tokens;
    while (scan.hasNextLine()) 
    {
        line = (scan.nextLine());
        tokens = line.split("//s");
        for (int i = 0; i < tokens.length; i++) {
            System.out.println(tokens[i]);

        }

    }


}
}

输入文件:

Pet
===================
- species : String
+ isChipped : boolean
- name : String
- age : int
===================
+ Pet ( String name )
===================

1 个答案:

答案 0 :(得分:2)

我认为你打算放\\s代替//s//s实际上是基于文字字符串//s进行拆分(即没有转义)。由于你的所有字符串都没有,所以没有分裂。我怀疑如果你做tokens[2],你会得到- species : String