Java String 변수의 마지막 문자 제거
값이 다음과 같은 Java String 변수
String path = "http://cdn.gs.com/new/downloads/Q22010MVR_PressRelease.pdf.null"
마지막 4 개의 문자, 즉 .null
. 분할하기 위해 사용할 수있는 방법.
마지막 5 개 문자 ( '.', 'n', 'u', 'l', 'l') 를 제거하고 싶습니다 .
path = path.substring(0, path.length() - 5);
반환 값을 사용해야하는 방법에 유의하십시오. 문자열은 변경할 substring
수 없으므로 기존 문자열을 변경하지 마십시오 . 적절한 데이터 가있는 새 문자열에 대한 참조를 반환합니다 .
또는 조금 더 안전하게하려면 :
if (path.endsWith(".null")) {
path = path.substring(0, path.length() - 5);
}
그러나 나는 문제를 더 높이 다루려고 노력할 것입니다. 내 생각에는 다른 코드가 다음과 같은 작업을 수행하기 때문에 ".null"만있는 것 같습니다.
path = name + "." + extension;
어디가 extension
null입니다. 대신 조건부로 처리하므로 처음에 나쁜 데이터를 얻지 못합니다.
(질문 주석에서 언급했듯이 String
API를 살펴 봐야 합니다 . Java에서 가장 일반적으로 사용되는 클래스 중 하나이므로 익숙하지 않은 것에 대한 변명의 여지가 없습니다.)
import org.apache.commons.lang3.StringUtils;
// path = "http://cdn.gs.com/new/downloads/Q22010MVR_PressRelease.pdf.null"
StringUtils.removeEnd(path, ".null");
// path = "http://cdn.gs.com/new/downloads/Q22010MVR_PressRelease.pdf"
path = path.substring(0, path.length() - 5);
다른 모든 답변 (2013 년 9 월 8 일 현재)이 하위 문자열의 문자 수를 계산 ".null"
하거나 StringIndexOutOfBoundsException
하위 문자열이 없으면 던지는 것을보고 놀랐습니다 . 아니면 둘다 :(
다음을 제안합니다.
public class Main {
public static void main(String[] args) {
String path = "file.txt";
String extension = ".doc";
int position = path.lastIndexOf(extension);
if (position!=-1)
path = path.substring(0, position);
else
System.out.println("Extension: "+extension+" not found");
System.out.println("Result: "+path);
}
}
부분 문자열이 발견되지 않으면 잘라낼 것이 없으므로 아무 일도 일어나지 않습니다. 당신은 StringIndexOutOfBoundsException
. 또한 하위 문자열에서 문자를 직접 계산할 필요가 없습니다.
마지막 5자를 제거하려면 다음을 사용할 수 있습니다.
path.substring(0,path.length() - 5)
(하나의 오류로 인해 제외 될 수 있음;))
일부 변수 문자열을 제거하려면 :
path.substring(0,path.lastIndexOf('yoursubstringtoremove));
(하나의 오류로 인해 제외 될 수도 있습니다.))
또 다른 방법:
if (s.size > 5) s.reverse.substring(5).reverse
BTW, 이것은 Scala 코드입니다. Java에서 작동하려면 대괄호가 필요할 수 있습니다.
참조 URL : https://stackoverflow.com/questions/9125241/remove-the-last-chars-of-the-java-string-variable
'program tip' 카테고리의 다른 글
Java : 동기화 된 블록에서 wait () 잠금 해제 (0) | 2020.12.28 |
---|---|
한 위치에서 다른 위치로 파일을 복사하는 방법은 무엇입니까? (0) | 2020.12.28 |
C #의 수학 최적화 (0) | 2020.12.28 |
상대 경로에서 절대 URL 가져 오기 (리팩터링 된 방법) (0) | 2020.12.28 |
div에서 첫 번째 클래스 찾기 (0) | 2020.12.28 |