java - 读取多个文件,然后分隔字符串

标签 java

我已经使用StringTokenizer读取了多个文件并读取了 token ,但我的问题是它读取“Geneliad'souza”是一样的,但我希望它是“geneliad”和“souza”单独的单词。您能解释一下这个逻辑的代码吗?

单词以字母(A-Z 或 a-z)开头,直到遇到非字母(或 EOF)。

我的代码片段:

String line = fileReader.nextLine();
String word = null;

StringTokenizer st = new StringTokenizer(line);

while (st.hasMoreTokens()) { // while2 starts
    word = st.nextToken().toLowerCase();
    ...

最佳答案

StringTokenizer 不应该(感谢 laune )与多个 String 作为分隔符一起使用,但您希望它与某些变体一起使用。 另外,如javadoc说,“StringTokenizer 是一个遗留类,出于兼容性原因而保留”,因此您应该避免在代码中使用它并使用这种方式:

String[] words = line.split("[^a-zA-Z]+");

这里的正则表达式将匹配除字母之外的任何字符(字符序列)。

关于java - 读取多个文件,然后分隔字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24598504/

相关文章:

java - 与 post 与 postDelayed 保持时间间隔

java - 一个Gradle项目可以继承多个父项目吗?

java - 为什么Java匿名类不能实现多个接口(interface)?

java - 在 Activity 开始时循环分配按钮的快速方法是什么?

java - maven依赖版本问题

java - 如果没有 @Inject 构造函数,则无法提供 Dagger 2 对象

java - 具有半透明/抗锯齿功能的光标

java.security.InvalidKeyException : No installed provider supports this key: (null) while verifying signed pdf

java - 如何捕获 AuthenticationProvider 抛出的正确异常?

java - java格式化int方法