如何获取字符串的最后三个单词?

时间:2013-08-13 05:57:59

标签: java

我有一个包含此字符串的字符串:

  

D:\ptc\Windchill_10.0\Windchill\wtCustom\wt\lifecycle\StateRB.rbInfo

我想得到这一部分:

  

wt\lifecycle\StateRB

我该怎么做?

3 个答案:

答案 0 :(得分:0)

您可以将字符串tokeniezer与\ delimiter一起使用,并仅获取最后三个字符串标记。我希望上面的路径永远不变。

答案 1 :(得分:0)

http://www.tutorialspoint.com/java/java_string_substring.htm

检查以上链接

示例:

  String Str = new String("Welcome to Tutorialspoint.com");
  System.out.print("Return Value :" );
  System.out.println(Str.substring(10) );

  System.out.print("Return Value :" );
  System.out.println(Str.substring(10, 15) );

答案 2 :(得分:0)

您可以简单地将整个路径拆分为零件,然后获取所需的零件。

String path = "D:\ptc\Windchill_10.0\Windchill\wtCustom\wt\lifecycle\StateRB.rbInfo";
String[] parts = path.split("\\");
parts = Arrays.copyOfRange(parts, parts.length-3, parts.length);

或者你可以通过循环使用循环(这似乎更好)

int index = 0, i = 0;
Stack<String> al = new Stack<String>();
while((index = path.lastIndexOf()))!=-1 && i < 3) {
    al.push((path = path.substring(index)));
    i++;
}
String[] parts = (String[])al.toArray(); //if you don't have array elements
                                         // in correct order, you can use 
                                         // Collections.reverse with Arrays.asList 
                                         // applied on array