У мене є рядок:
/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
бібліотеку, ця відповідь показує гарячі зробити це: stackoverflow.com/a/33935645/2966583
З Гуавою зробіть це:
String id="/abc/def/ghfj.doc";
String valIfSplitIsEmpty="";
return Iterables.getLast(Splitter.on("/").split(id),valIfSplitIsEmpty);
Врешті налаштуйте Splitter
та використовуйте
Splitter.on("/")
.trimResults()
.omitEmptyStrings()
...
Також подивіться цю статтю про guava Splitter і цю статтю про guava Iterables
У Котліні ви можете використовувати 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"