我有一个字符串:
/abc/def/ghfj.doc
我想从中提取ghfj.doc,即在最后一个/之后的子字符串,或从右边的第一个/。
有人能帮帮忙吗?
我有一个字符串:
/abc/def/ghfj.doc
我想从中提取ghfj.doc,即在最后一个/之后的子字符串,或从右边的第一个/。
有人能帮帮忙吗?
当前回答
在Kotlin中,您可以使用substringAfterLast,指定分隔符。
val string = "/abc/def/ghfj.doc"
val result = url.substringAfterLast("/")
println(result)
// It will show ghfj.doc
医生说:
返回分隔符最后出现后的子字符串。如果字符串不包含分隔符,则返回默认为原始字符串的missingDelimiterValue。
其他回答
在Kotlin中,您可以使用substringAfterLast,指定分隔符。
val string = "/abc/def/ghfj.doc"
val result = url.substringAfterLast("/")
println(result)
// It will show ghfj.doc
医生说:
返回分隔符最后出现后的子字符串。如果字符串不包含分隔符,则返回默认为原始字符串的missingDelimiterValue。
你都试过什么? 这很简单:
String s = "/abc/def/ghfj.doc";
s.substring(s.lastIndexOf("/") + 1)
java安卓
对我来说
我想从
~ / propic /……png
在/主题/之后的任何东西都不重要
........。.png
最后,我在类StringUtils中找到了代码
这就是代码
public static String substringAfter(final String str, final String separator) {
if (isEmpty(str)) {
return str;
}
if (separator == null) {
return "";
}
final int pos = str.indexOf(separator);
if (pos == 0) {
return str;
}
return str.substring(pos + separator.length());
}
这也可以获取文件名
import java.nio.file.Paths;
import java.nio.file.Path;
Path path = Paths.get("/abc/def/ghfj.doc");
System.out.println(path.getFileName().toString());
是否打印ghfj.doc
用番石榴这样做:
String id="/abc/def/ghfj.doc";
String valIfSplitIsEmpty="";
return Iterables.getLast(Splitter.on("/").split(id),valIfSplitIsEmpty);
最终配置并使用Splitter
Splitter.on("/")
.trimResults()
.omitEmptyStrings()
...
还可以看看这篇关于番石榴分离器的文章和这篇关于番石榴迭代的文章