我编写了一个程序,该程序必须从文件中获取输入并仅从中提取文本,同时将其内容保存到数组中。我的文本文件内容是:
There is some!text.written%in
the FILE[That]=Have+to`be==separated????
我试图编码的是:
public static void main(String[] args) throws FileNotFoundException, IOException {
BufferedReader file = new BufferedReader(new FileReader("mfile.txt"));
List<String> list = new ArrayList();
String str;
StringBuilder filedata = new StringBuilder();
Scanner toknizer = new Scanner(filedata.toString());
while((str=file.readLine())!=null){
filedata.append(str);
}
toknizer.useDelimiter("[^a-z]");
while(toknizer.hasNext()){
list.add(toknizer.next());
}
System.out.println(list);
}
此时我只想提取用小字母书写的文本。但是程序正在打印一个空列表。调试显示toknizer.hasNext()
在while(toknizer.hasNext())
. 怎么了?我使用了错误的正则表达式吗?我[^a-z]
从这里得到了使用的想法。