本文介绍了没有分隔符的输入字符串的标记化的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
限时送ChatGPT账号..我有一些像这样的字符串(Customer.Activity ==Car Loan")我使用下面的代码在java中使用StringTokenizer分割字符串
I have String some like this (Customer.Activity == "Car Loan") i am using below code to split the String using StringTokenizer in java
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")
但我正在尝试实现如下输出
But i am trying to achieve output like below
你能建议我如何实现上述输出
Can you suggest me way how can i achieve above output
推荐答案
如果您对使用 Java regex API,下面给出了正好满足您要求的那个:
If you are fine with a solution using Java regex API, given below the one which meets your requirement precisely:
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
List<String> tokenList = new ArrayList<String>();
String str = "(\"Customer.Activity\" == \"Car Loan\")";
Pattern pattern = Patternpile("[(\")]|\\w+.\\w+|==");
Matcher matcher = pattern.matcher(str);
while (matcher.find()) {
tokenList.add(matcher.group());
}
for (String token : tokenList) {
System.out.println(token);
}
}
}
输出:
(
"
Customer.Activity
"
==
"
Car Loan
"
)
这篇关于没有分隔符的输入字符串的标记化的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
更多推荐
[db:关键词]
发布评论