我有这样的 XPath:
something1/something2/AXES::tag/something3...
其中 AXES 是一组有限的单词:
- 孩子
- 属性
- ...
所以我必须把这个 xpath 分成三个部分:
- 某事1/某事2/
- 轴::标签
- 某事3...
我怎样才能做到这一点?我意识到这很容易,但它应该尽可能快地工作。
我的解决方案(当然它不是最佳的):
private static String[] splitForFirstAxes(String s){
String[] a = new String[3];
int i = s.indexOf("::",0);
if (0 > i ) return null;
String part1 = s.substring(0, i);
String part2 = s.substring(i+2);
int part1LastsSlash = part1.lastIndexOf('/');
int part2FirstSlash = part2.indexOf('/');
a[0] = part1.substring(0, part1LastsSlash);// First part
a[2] = part2.substring(part2FirstSlash+1);// Second part
a[1] = part1.substring(part1LastsSlash+1) +"::" +part2.substring(0,part2FirstSlash);// Axes
return a;
}