Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.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如何从末尾拆分字符串_Java_String_Split - Fatal编程技术网

java如何从末尾拆分字符串

java如何从末尾拆分字符串,java,string,split,Java,String,Split,我有一个类似“test.test.test”….test的字符串,我需要访问这个字符串中的最后一个“test”字。请注意,字符串中“test”的数量是无限的。如果java有一个像phpexplode函数这样的方法,那么一切都是正确的,但是。我认为从绳子末端分开,可以解决我的问题。 有没有办法指定split方法的方向? 我知道这个问题的一个解决方案是: String parts[] = fileName.split("."); //for all parts, while a parts cont

我有一个类似“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);

注意:使用
\\.
,因为
在正则表达式中有特殊的含义(这是
拆分
所期望的)。如果您只需要最后一个点,请使用
lastIndexOf
找到它,然后使用
子字符串
而不是拆分所有字符串。
没有“.”的输入失败。请记住测试lastIndexOf(“.”)-1
@AnilMuppalla实际上,它并没有失败,而是返回整个单词,正如在没有找到分隔符时所预期的那样<代码>System.out.println(“没有任何点”。子字符串(“没有任何点”。lastIndexOf(“.”+1));-->没有任何点