Java 从RDF资源中删除命名空间
我正在从事一个Java项目,在该项目中,我生成URI(统一资源标识符)作为输出。 URI的一个示例是:www.myexample.com/rgd/543/mary 我需要提取此类URI的最后一部分,即前一个URI中的mary 我需要一个可扩展的解决方案,因为我可能有不同形式的URI,但我总是需要在“/”之后找到最后一部分 例如,我可以: 或 我需要分别从前面的URI中提取steve和adam 我知道正则表达式可能有效,但在正则表达式方面没有太多经验。Java 从RDF资源中删除命名空间,java,regex,uri,Java,Regex,Uri,我正在从事一个Java项目,在该项目中,我生成URI(统一资源标识符)作为输出。 URI的一个示例是:www.myexample.com/rgd/543/mary 我需要提取此类URI的最后一部分,即前一个URI中的mary 我需要一个可扩展的解决方案,因为我可能有不同形式的URI,但我总是需要在“/”之后找到最后一部分 例如,我可以: 或 我需要分别从前面的URI中提取steve和adam 我知道正则表达式可能有效,但在正则表达式方面没有太多经验。 非常感谢 您可以在表示URI的字符串上使用
非常感谢 您可以在表示URI的字符串上使用
substring
和lastIndexOf
方法,而不是regex,如
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
没问题。如果这个答案解决了你的问题,你可以。这是表达“谢谢”的另一种方式,也感谢其他用户,这样用户就可以从您的问题中看到问题已经解决,这样他们就可以专注于帮助其他人:)