gpt4 book ai didi

java - 使用分隔符进行标记

转载 作者:行者123 更新时间:2023-12-01 13:55:53 29 4
gpt4 key购买 nike

我正在尝试将源代码分隔为标记,我希望将分隔符 \\s|+;,{}[] 标记化。但我不知何故失败了,有什么建议吗?

public void tokenize() {
StringTokenizer st = new StringTokenizer(this.sourceCode, "\\s+|[;{}\\[\\]]", true);

int counter = 0;

while (st.hasMoreElements()) {
String token= (String) st.nextElement();
tokenizedCode.put(counter, token.trim());
counter++;
}
}

编辑:注意:该分隔符没有正确标记我所期望的

我希望将 int a=10; 标记为 int,a,=,10

最佳答案

StringTokenizer 类的构造函数不采用正则表达式作为参数,因此您可以这样做:

StringTokenizer st = new StringTokenizer(this.sourceCode, " ;{}[]=", true);

请注意,StringTokenizer 是一个遗留类,出于兼容性原因而保留,尽管不鼓励在新代码中使用它。建议任何寻求此功能的人使用 String 的 split 方法或 java.util.regex 包。 例如:

String[] result = this.sourceCode.split("\\s+|[;{}\\[\\]]");
for (String str : result) {
System.out.println(str);
}

关于java - 使用分隔符进行标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19631122/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com