java - 用 Guava 修剪空格分隔的文件

标签 java parsing guava

我有以下文件格式:

bla_english bla_german eok This is the description part

列是:bla_english、bla_german、eok 和“这是描述部分”。前三列只有一个单词。描述可以有多个单词并且是可选的。使用 google guava 解析该文件的最佳方法是什么?

最佳答案

Splitter.on(' ').limit(4).split(input);

这使用 Guava,您的处理器会很高兴不必处理正则表达式,这与 input.split("\\s", 4) 不同。

如果需要更广阔的空间搭配,可以使用

Splitter.on(CharMatcher.WHITESPACE).limit(4).split(input);

当然,您也可以创建自己的 CharMatcher

但我真正要做的是在我的类(静态)或实例(非静态)中定义 Splitter ,然后对其使用 split 。因此,您只需定义一次,它就可以为您进行的每次调用做好准备!

class MyClass {
  static Splitter splitter = Splitter.on(CharMatcher.WHITESPACE).limit(4);

  ...

  Iterable<String> slices = splitter.split(input);
}

关于java - 用 Guava 修剪空格分隔的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23079236/

相关文章:

java - JAXB : how to unmarshall Java object composed from multiple tags or attribute values

python - 高效的叠瓦算法

java - 在 java/mysql 中操作音频文件

java - 使用 BufferedReader 读取多个文件

java - 如果 Java 不支持运算符重载,那么增量运算符如何在 Integer 实例上工作?

ios - 无法将类型 '__NSCFArray' 的值转换为 'NSDictionary' + 在 map View 中显示注释

Java 从文件中解析 multipart/form-data

java - 谷歌 Collection 中是否有一个字符串来映射拆分器

java - 什么是 Collection View ?

java - 无法使用 Springfox 发送授权承载 token