设置多个分隔符的语法?

时间:2015-03-26 03:57:16

标签: java parsing java.util.scanner delimiter

我想设置一个分隔符,以便只获取java源代码中的单词。

所以标点符号如(),; =<> 空格等会被忽略。

我的目标是读取java文件的源代码,只检测变量名而不是变量类型。但标点符号有时也是变量名称的一部分,所以我必须阻止它们。

Ex:public static void main(String [] args){

此行应检测" main"和" args"只存储它们,因为它们是变量名称。但我只需要知道如何设置分隔符以忽略其他东西

基本上,分隔符应包括以下内容: 空白;,()[] {} =<>""

2 个答案:

答案 0 :(得分:0)

您还必须处理字符串文字中的内容以及其他一系列内容。实际上,您将编写Java解析器。

如果您真的想这样做,我建议您查看ANTLR。有可用的Java语法,例如this one

答案 1 :(得分:-2)

这可以分两步完成:

string values= str.replaceAll("[(),;=<>]","|");  <-- replace all chars with pipe(|)
String[] array = values.split("\\|", -1);

享受。