我正在开发一个Java项目,我在其中生成URI(统一资源标识符)作为输出。 URI的一个示例是:www.myexample.com/rgd/543/mary。
我需要提取这些URI的最后部分,这些URI在之前的URI中是mary。
我需要一个可扩展的解决方案,因为我可能有不同形式的URI但我总是需要在“/".
之后得到最后一部分例如我可以: http://software.org/trg/poo/945/steve 要么 http://www.amazon.com/rggf/0956/dfgh/rgf/kk/adam
我需要分别从之前的URI中提取steve和adam。
我知道正则表达式可能有效但在正则表达式方面没有多少经验。 提前谢谢了。
答案 0 :(得分:0)
您可以在表示URI的字符串上使用substring
和lastIndexOf
方法,而不是正则表达式,例如
String[] data = { "http://software.org/trg/poo/945/steve",
" http://www.amazon.com/rggf/0956/dfgh/rgf/kk/adam" };
for (String s:data)
System.out.println(s.substring(s.lastIndexOf('/')+1));
//"http://software.org/trg/poo/945/steve
// ^
// lastIndexOf(`/`);
//
// but we don't want to return "/steve" but "steve"
// so lets subtract string from index of last `/`
// increased by one
输出:
steve
adam