Java: 특정 문자 뒤에 시작하는 문자열에서 하위 문자열 가져오기
나는 끈이 있다:
/abc/def/ghfj.doc
추출하고 싶다ghfj.doc
이것으로부터, 즉, 마지막 이후의 서브스트링/
또는 첫 번째/
오른쪽에서
누가 좀 도와주시겠어요?
String example = "/abc/def/ghfj.doc";
System.out.println(example.substring(example.lastIndexOf("/") + 1));
를 사용한 매우 간단한 실장:
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이 반환됩니다.구분 기호가 일치하지 않으면 빈 문자열이 반환됩니다.
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
Guava에서는 다음을 수행합니다.
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"
자바 안드로이드
나 같은 경우에는
에서 바꾸고 싶다.
~/propic/......png
프로포즈 이후의 어떤 것도/앞의 것은 중요하지 않다
......png
드디어 Class String Utils에서 코드를 찾았습니다.
이것이 코드입니다.
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());
}
언급URL : https://stackoverflow.com/questions/14316487/java-getting-a-substring-from-a-string-starting-after-a-particular-character
'programing' 카테고리의 다른 글
런타임에 일반 클래스 유형 가져오기 (0) | 2022.08.10 |
---|---|
vue.js를 통한 JEST 테스트 퍼포먼스 향상 (0) | 2022.08.10 |
VueJ에서 API 응답을 캐시하는 방법이 있습니까?s (0) | 2022.08.10 |
계산된 속성이 두 번 반환됨 (0) | 2022.08.10 |
계산된 소품 변경에 반응하지 않는 Vue (0) | 2022.08.10 |