首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当一些元素也包含逗号时,如何从逗号分隔的文本中解析元素?

当一些元素也包含逗号时,如何从逗号分隔的文本中解析元素?
EN

Stack Overflow用户
提问于 2012-11-14 01:42:04
回答 2查看 495关注 0票数 1

我有一些用逗号分隔的记录。我需要分离文件中的记录,并将其放入一个数组中。我遇到的问题是文本是用逗号分隔的,但在一些字段中有逗号,这些逗号不应该是分隔符。

例如,当一个字段指定一个地址时,如下例所示:"2, foo , 403 HAPPY LANE Seattle, WA., etc"

下面是我使用的代码示例:

代码语言:javascript
复制
// Start streams....
String str = null;
    List<String> items = null;

    while((str = bufr.readLine()) != null) {
     items = Arrays.asList(str.replace("\"", "").split("\\s*,\\s*"));
     while(true) {
         System.out.println (items);

我知道csv之类的东西,但我还是不想用它。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-14 01:46:51

如果您需要忽略的逗号包含在引号中,那么您可以使用诸如OpenCSV之类的包。它将负责忽略引用的comas。Apache Commons还列出了一些其他的here

但是,如果没有引用coma,您就无法期望计算机知道一个coma是分隔符,而另一个不是分隔符。

票数 0
EN

Stack Overflow用户

发布于 2012-11-14 01:55:18

这真的取决于你的情况,但我可以想到几种可能的方法来做到这一点。

A)在逗号分隔中寻找模式。即。你有一个数据库,你可以从中读取值。您正在查看的表是一个包含姓氏、名字和地址的customer表。如果address中有一个您不想拆分的额外逗号,您可以编写某种方法来忽略每隔三个逗号。

B)将您想要分隔值的所有逗号替换为数据中不会出现在其他位置的另一个特殊字符,并根据该字符而不是逗号拆分数据。

正如我所说的,这真的取决于您的情况,以及您正在读取的数据。也许如果你在问题的上下文中提供更多的信息,你可以得到一个更精致的答案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13365846

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档