2014-08-28 65 views
0

我下面的一种字符串:如何获得特定条件的字符串的特定部分?

http://www.example.org/ab/app/ram/ri/000000000000004

我只是希望它的每一次变化串即000000000000004的最后一部分。我怎样才能使用Java?

+2

你刚才在询问之前搜索了什么? Java中的字符串操作在互联网上被过度记录。 – Julien 2014-08-28 09:34:31

+1

请做一些基本的搜索,因为这个问题似乎很容易理解。 – 2014-08-28 09:41:44

回答

6

使用lastIndexOf()

String result= yourUrl.substring(yourUrl.lastIndexOf('/') + 1); 
1

可以使用PatternMatcher类,只是使用\\d+here

PS:Suresh的答案是比我的好:P

+2

这个解决方案比苏雷什的解读要难得多。 – Julien 2014-08-28 09:35:23

+1

@Julien - 我同意。苏雷什已经发布了这个答案。我只是给*另一种*方法。 – TheLostMind 2014-08-28 09:36:47

+1

这是一个好东西,展示不同的方法:)我发表我的评论之前,你编辑你的答案与“苏雷什的回答比我的更好:P”;)所以我们在同一行^^ – Julien 2014-08-28 09:42:44

0

您可以使用模式匹配做到这一点:

String s ="http://www.example.org/ab/app/ram/ri/000000000000004"; 

    Pattern p = Pattern.compile("/(\\d+)"); 
    Matcher m= p.matcher(s); 
    if (m.find()){ 
     System.out.println(m.group(1)); 
    } 
2

ofcoure我已经把代码放在C#中,应该稍微改变一下java.i中的语法已经发布它只是为了让提问者知道方向。

string yourUrl = "http://www.example.org/ab/app/ram/ri/000000000000004"; 
string[] result = yourUrl.Split('/'); 
string finalRes = result[result.Length - 1]; 
+0

在Java中除了约定之外几乎是一样的:在Java中只有类(和常量,但它们应该用全部大写,它与类不是一样的)应该以大写字母开头,而不是方法: )此外,字段(如本例中的Length)不应该公开:)但除此之外,它非常相似。 – Julien 2014-08-28 09:51:58

1
string yourUrl = "Sample String" 

串[] RES1 = yourUrl.Split( '/'); string res2 = res1 [res1.Length - 1];