java如何从结尾分割字符串

ham*_*med 8 java string split

我有一个字符串,如"test.test.test"...".test",我需要访问此字符串中的最后一个"test"字样.请注意,字符串中的"test"数量不受限制.如果java有像php explode函数这样的方法,一切都是正确的,但....... 我认为从字符串的末尾分割,可以解决我的问题.有没有办法为split方法指定方向?我知道这个问题的一个解决方案可能是这样的:

String parts[] = fileName.split(".");
//for all parts, while a parts contain "." character, split a part...
Run Code Online (Sandbox Code Playgroud)

但我觉得这个糟糕的解决方案.

SMA*_*SMA 14

使用String的lastIndexOf方法尝试substring:

String str = "almas.test.tst";
System.out.println(str.substring(str.lastIndexOf(".") + 1));
Output:
tst
Run Code Online (Sandbox Code Playgroud)

  • @AnilMuppalla实际上,它并没有失败,而是返回整个单词,正如预期的那样找不到分隔符.`System.out.println("no-dots-whatsoever".substring("no-dots-whatsoever".lastIndexOf(".")+ 1)); - >无点,whatsoever` (2认同)

RE3*_*350 5

我认为您可以lastIndexOf(String str)为此目的使用方法。

String str = "test.test.test....test";

int pos = str.lastIndexOf("test");

String result = str.substring(pos);
Run Code Online (Sandbox Code Playgroud)