没有定界符的输入字符串的标记化

问题描述 投票:0回答:2

我有这样的字符串(“ Customer.Activity” ==“汽车贷款”),我正在使用以下代码在Java中使用StringTokenizer拆分字符串

import java.util.ArrayList;
import java.util.StringTokenizer;

public class StringTokenizerClass {

    public ArrayList<String> stringTokenizer(String str) {


        StringTokenizer Tokenizer = new StringTokenizer(str);

        ArrayList<String> tokenList = new ArrayList<String>();

        while (Tokenizer.hasMoreTokens()) {
            tokenList.add(Tokenizer.nextToken());
        }

        return (tokenList);
    }

}

public class StringTokenizerMain {

    public static void main(String[] args) {

        String input = "(\"Customer.Activity\" == \"Car Loan\")";

        StringTokenizerClass st = new StringTokenizerClass();

        for (int i = 0; i < st.stringTokenizer(input).size(); i++) {
            System.out.println(st.stringTokenizer(input).get(i));
        }

    }

}

而且我得到如下输出

("Customer.Activity"
==
"Car
Loan")

但是我正在尝试实现如下输出

enter image description here

您能建议我如何实现上述输出结果

java regex string split tokenize
2个回答
0
投票

我认为您需要:

StringTokenizer st = new StringTokenizer(input, "\"");
while (st.hasMoreTokens()) {
  System.out.println(st.nextToken());
}

0
投票
StringTokenizer Tokenizer = new StringTokenizer(str,"\t\\\"", true);
© www.soinside.com 2019 - 2024. All rights reserved.