java 如何从末尾拆分字符串

java how to split string from end

我有一个类似于 "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...

但我认为这个解决方案很糟糕。

使用字符串的 lastIndexOf 方法尝试子字符串:

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

我想你可以使用 lastIndexOf(String str) 方法来达到这个目的。

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

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

String result = str.substring(pos);