在nextToken()中使用带有多个分隔符的分隔符

时间:2015-05-27 13:29:48

标签: java

我尝试使用结构如下的字符串:

3882027944,Yes,"A specific website or app (please provide the answer)",
"Weather Underground, also local tv news half the time.",
"Somewhat likely","30 - 44", Male, "$10,000 to $24,999",
"West North Central"

(为了清晰起见,换行符,不在原文中)

我一直在尝试使用Java中的nextToken()函数执行此操作。我试图用逗号之间的每个部分分割字符串。但是,如果String包含逗号(例如Weather Underground, also local...),则不应该在那里拆分。

所以我的问题是:有没有办法拆分令牌组合,以便我可以分开","而不是每个单独的,

1 个答案:

答案 0 :(得分:0)

您可能希望使用split而不是tokenizer

来自http://docs.oracle.com/javase/7/docs/api/java/util/StringTokenizer.html

  

StringTokenizer是为其保留的旧版类   兼容性原因虽然在新代码中不鼓励使用。   建议任何寻求此功能的人都使用拆分   而是String的方法或java.util.regex包。

public static void main(String[] args) {
        String delims = "\",\"";
        String splitString = "one\",\"two,\",\"three\",\"four\",\",five";

        String[] tokens = splitString.split(delims);
        int tokenCount = tokens.length;
        for (int j = 0; j < tokenCount; j++) {
            System.out.println("Split Output: "+ tokens[j]);
        }
    }