我很难考虑描述性标题,为此感到抱歉。
我在这里面临一个问题。我有很多必须处理的代码文件。而且我必须找到一些索引才能获得子字符串。 这是一个示例:
public BigInteger getGenbestillingerTilbageKvantitet() {
return genbestillingerTilbageKvantitet;
}
我必须能够找到上述示例的起始索引(我将整个代码文件加载为字符串,因此显示的方法将是整个代码文件的子字符串)。我能够获取getGenbestillingerTilbageKvantitet()的索引,因为我在数组(以及其他数组)中有“ GenbestillingerTilbageKvantitet”:
int index7 = fileContent.indexOf("get" + capitalizedProps[i])
这就是我的方法。
然后我会找到方法的结尾,如下所示:
int index4 = fileContent.indexOf("}", index3) + 1
问题是我需要“ public”的索引。但是由于类型不一定是“ BigInteger”,因此给我带来了麻烦。
有人知道如何从公众那里获得索引吗?如果该类型是自定义类型,则可以:
String s = "public " + capitalizedProps[i] + "Type get" + capitalizedProps[i]
int index3 = fileContent.indexOf(s)
有时会起作用:)但当类型是BigInteger甚至是String时就不会。
答案 0 :(得分:1)
如果要获取public
方法名前面的getGenbestillingerTilbageKvantitet
关键字的索引,则可以使用从头到{{1}的索引创建的子字符串的String.lastIndexOf(str)
}方法名称。像这样:
getGenbestillingerTilbageKvantitet
其中int pubKeyIdx = fileContent.substring(0, index7).lastIndexOf("public")
变量保存方法名称的索引。