我的输入:"professions/medical/doctor/"
我想要的输出:"doctor"
我有以下解决方案,但它不是单线的:
String v = "professions/medical/doctor/";
String v1 = v.substring(0, v.length() - 1);
String v2 = v1.substring(v1.lastIndexOf("/")+1, v1.length());
System.out.println(v2);
如何以单线实现相同的功能?
我可能在这里使用String#split
(需要一或两行解决方案:]
String v = "professions/medical/doctor/";
String[] parts = v.split("/");
String v2 = parts[parts.length-1];
System.out.println(v2);
如果您知道要使用第三个组件,则可以使用:
System.out.println(v.split("/")[2]);
对于真正的单线,String#replaceAll
可能起作用:
String v = "professions/medical/doctor/";
String v2 = v.replaceAll(".*/([^/]+).*", "$1");
System.out.println(v2);
使用lastIndexOf(str, fromIndex)
变体:
String v2 = v.substring(v.lastIndexOf('/', v.length() - 2) + 1, v.length() - 1);