在每个字段之间没有明确的分隔符(分隔符)的情况下,从每行中提取每个字段的最佳方法是什么?
以下是我提取其字段所需的行示例:
3/3/2010 11:00:46 AM BASEMENT-IN
3/3/2010 11:04:04 AM 2, YaserAlNaqeb BASEMENT-OUT
3/3/2010 11:04:06 AM BASEMENT-IN
3/3/2010 11:04:18 AM BASEMENT-IN
3/3/2010 11:14:32 AM 4, Dhileep BASEMENT-OUT
3/3/2010 11:14:34 AM BASEMENT-IN
3/3/2010 11:14:41 AM BASEMENT-IN
3/3/2010 11:15:33 AM 4, Dhileep BASEMENT-IN
3/3/2010 11:15:42 AM BASEMENT-IN
3/3/2010 11:15:42 AM BASEMENT-IN
3/3/2010 11:30:22 AM 34, KumarRaju BASEMENT-IN
3/3/2010 11:31:28 AM 39, Eldrin BASEMENT-OUT
3/3/2010 11:31:31 AM BASEMENT-IN
3/3/2010 11:31:39 AM BASEMENT-IN
3/3/2010 11:32:38 AM 39, Eldrin BASEMENT-IN
3/3/2010 11:32:47 AM BASEMENT-IN
3/3/2010 11:32:47 AM BASEMENT-IN
3/3/2010 11:33:26 AM 34, KumarRaju BASEMENT-OUT
3/3/2010 11:33:28 AM BASEMENT-IN
每行有 6 个字段,其中一些字段可以为空。解决这个问题的最佳方法是什么?
- 我正在使用 Java
版本 01
- 字段 5 可以为空(但在所有情况下都应识别其存在)
- 空格数量可以更改
- 最后一个词可以更改
最佳答案
您可以按列号去掉日期和 BASEMENT-FOO 数据,因为它们总是出现在行中的同一点。然后你可以根据逗号分割余数。您是否需要处理转义逗号\或引号“foo, bar”中的逗号取决于您和您的业务需求。
关于java - 如何从没有常量分隔符的文本行中提取字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2377492/