문자열이 있습니다.
/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, "/");
이 메소드에 널을 전달하면 널을 리턴합니다. 구분 기호와 일치하지 않으면 빈 문자열을 반환합니다.
답변
Apache commons를 사용할 수 있습니다.
마지막 발생 후 하위 문자열의 경우이 방법을 사용 하십시오 .
그리고 첫 번째 발생 후 하위 문자열의 경우 동등한 방법이 여기 있습니다 .
답변
이것은 또한 파일 이름을 얻을 수 있습니다
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()
...
구아바 스플리터 (Guava Splitter) 와 구아바 (Guava Iterables)에 관한이 기사도 살펴보십시오.