通过文字,我的意思是所有常量,例如
这里 10 是整数文字,10.5f 是浮点文字,Hello 是字符串文字 然而,在尝试了一些东西之后,我在代码的某些部分取得了成功。
int a = 10;
float b = 10.5f;
String all = "Hello";
String s = "my source program that i am reading from file";
String lines[] = s.split("\n"); //Break my program into lines
for(int i=0;i<lines.length;i++) {
if(lines[i].contains("="))
System.err.println(lines[i].substring(lines[i].indexOf("=")+1),lines[i].indexOf(";"));
}
但它还为我提供了带有如下分配的输出:-
Myapp a=new Myapp();
但是我只需要查找文字
最佳答案
虽然有更好的方法来解决这个问题,但对现有代码的快速修复是进行一些小调整:
String s = "my source program that i am reading from file";
String lines[] = s.split("\n"); // Break my program into lines
for (int i = 0; i < lines.length; i++) {
if (lines[i].contains("=")) {
String literal = lines[i].substring((lines[i].indexOf("=") + 1), lines[i].indexOf(";"));
if (!literal.contains("new"))
System.err.println(literal);
}
}
关于java - 区分源代码中的文字和变量/符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29050112/