我正在尝试将一个字符串放入一个数组中,以便我可以按照与我正在读取的原始文件中的顺序不同的顺序打印 token 。
下面是我到目前为止的代码,我还包含了我正在读取的输入文件。我希望能够做的是从原始文件中打印一个单词; system.out.println(tokens[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 )
===================
最佳答案
我认为您的意思是使用 \\s
而不是 //s
。 //s
实际上是根据文字字符串 //s
进行分割(即不转义)。由于你的字符串都没有这个,所以没有 split 。我怀疑如果你这样做 tokens[2]
你会得到 -species : String
。
关于Java使用正则表达式分割将字符串放入数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28351105/