Saya punya string:
/abc/def/ghfj.doc
Saya ingin mengekstrak ghfj.doc
dari ini, yaitu substring setelah yang terakhir /
, atau pertama /
dari kanan.
Bisakah seseorang tolong bantu?
Saya punya string:
/abc/def/ghfj.doc
Saya ingin mengekstrak ghfj.doc
dari ini, yaitu substring setelah yang terakhir /
, atau pertama /
dari kanan.
Bisakah seseorang tolong bantu?
Jawaban:
String example = "/abc/def/ghfj.doc";
System.out.println(example.substring(example.lastIndexOf("/") + 1));
Implementasi yang sangat sederhana dengan 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];
apa yang sudah kamu coba ini sangat sederhana:
String s = "/abc/def/ghfj.doc";
s.substring(s.lastIndexOf("/") + 1)
Cara lain adalah menggunakan ini .
String path = "/abc/def/ghfj.doc"
String fileName = StringUtils.substringAfterLast(path, "/");
Jika Anda lulus nol ke metode ini, ia akan mengembalikan nol. Jika tidak ada kecocokan dengan pemisah itu akan mengembalikan string kosong.
StringUtils
perpustakaan, jawaban ini menunjukkan panas untuk melakukannya: stackoverflow.com/a/33935645/2966583
Dengan Jambu lakukan ini:
String id="/abc/def/ghfj.doc";
String valIfSplitIsEmpty="";
return Iterables.getLast(Splitter.on("/").split(id),valIfSplitIsEmpty);
Akhirnya konfigurasikan Splitter
dan gunakan
Splitter.on("/")
.trimResults()
.omitEmptyStrings()
...
Juga lihat artikel ini tentang jambu Splitter dan artikel tentang jambu biji Iterables
Di Kotlin Anda dapat menggunakan substringAfterLast
, menentukan pembatas.
val string = "/abc/def/ghfj.doc"
val result = url.substringAfterLast("/")
println(result)
// It will show ghfj.doc
Dari dokumen :
Mengembalikan substring setelah pemisah terakhir. Jika string tidak mengandung pembatas, mengembalikan missingDelimiterValue yang default ke string asli.
Saya pikir itu akan lebih baik jika kita langsung menggunakan fungsi split
String toSplit = "/abc/def/ghfj.doc";
String result[] = toSplit.split("/");
String returnValue = result[result.length - 1]; //equals "ghfj.doc"