Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从RDF资源中删除命名空间_Java_Regex_Uri - Fatal编程技术网

Java 从RDF资源中删除命名空间

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的字符串上使用

我正在从事一个Java项目,在该项目中,我生成URI(统一资源标识符)作为输出。 URI的一个示例是:www.myexample.com/rgd/543/mary

我需要提取此类URI的最后一部分,即前一个URI中的mary

我需要一个可扩展的解决方案,因为我可能有不同形式的URI,但我总是需要在“/”之后找到最后一部分

例如,我可以: 或

我需要分别从前面的URI中提取steve和adam

我知道正则表达式可能有效,但在正则表达式方面没有太多经验。
非常感谢

您可以在表示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

没问题。如果这个答案解决了你的问题,你可以。这是表达“谢谢”的另一种方式,也感谢其他用户,这样用户就可以从您的问题中看到问题已经解决,这样他们就可以专注于帮助其他人:)