我有一个字符串:
/abc/def/ghfj.doc
我想从中提取ghfj.doc
,也就是最后一个/
之后的子字符串,或者从右边数起的第一个/
。
请问有人能提供一些帮助吗?
我有一个字符串:
/abc/def/ghfj.doc
我想从中提取ghfj.doc
,也就是最后一个/
之后的子字符串,或者从右边数起的第一个/
。
请问有人能提供一些帮助吗?
String example = "/abc/def/ghfj.doc";
System.out.println(example.substring(example.lastIndexOf("/") + 1));
使用String.split()
非常简单:
String path = "/abc/def/ghfj.doc";
// Split path into segments
String segments[] = path.split("/");
// Grab the last segment
String document = segments[segments.length - 1];
你尝试过什么?很简单:
String s = "/abc/def/ghfj.doc";
s.substring(s.lastIndexOf("/") + 1)
另一种方法是使用这个。
String path = "/abc/def/ghfj.doc"
String fileName = StringUtils.substringAfterLast(path, "/");
如果您将null传递给此方法,则它将返回null。如果没有与分隔符匹配的内容,则它将返回空字符串。StringUtils
库,这个答案展示了如何做到:https://stackoverflow.com/a/33935645/2966583 - stramin这也可以获取文件名
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
substringAfterLast
,指定一个分隔符。val string = "/abc/def/ghfj.doc"
val result = url.substringAfterLast("/")
println(result)
// It will show ghfj.doc
来自文档:
返回分隔符最后一次出现后的子字符串。如果字符串不包含分隔符,则返回默认为原始字符串的missingDelimiterValue。
我认为如果我们直接使用分割函数会更好。
String toSplit = "/abc/def/ghfj.doc";
String result[] = toSplit.split("/");
String returnValue = result[result.length - 1]; //equals "ghfj.doc"
Java安卓
在我的情况下
我想要改变自
~/propic/........png
/propic/后面的任何内容都不重要
........png
最终,我在Class 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());
}
substringAfter("abc", "a") == "abc"
这个不像原来的substring after函数那样工作。 - R A