목표-C - 문자열에서 마지막 문자 제거
iOS용 Objective-C에서 버튼 동작을 사용하여 문자열의 마지막 문자를 삭제하려면 어떻게 해야 합니까?
컨트롤러 클래스에서 Interface Builder에서 버튼을 잠글 액션메서드를 만듭니다.이 메서드에서는 다음과 같이 문자열을 트리밍할 수 있습니다.
if ([string length] > 0) {
string = [string substringToIndex:[string length] - 1];
} else {
//no characters to delete... attempting to do so will result in a crash
}
코드 한 줄만으로 이 작업을 수행할 수 있는 고급 방법을 원하는 경우 다음과 같이 쓸 수 있습니다.
string = [string substringToIndex:string.length-(string.length>0)];
* 화려한 한 줄 코드 스니펫 설명 :
삭제할 문자가 있는 경우(즉, 문자열 길이가 0보다 큼)
(string.length>0)
돌아온다1
따라서 코드가 반환됩니다.
string = [string substringToIndex:string.length-1];
삭제할 문자가 없는 경우(즉, 문자열 길이가 0 이하)
(string.length>0)
돌아온다0
따라서 코드가 반환됩니다.
string = [string substringToIndex:string.length-0];
추락을 막을 수 있습니다.
NSMutableString(동적으로 변경하기 때문에 권장)인 경우 다음을 사용할 수 있습니다.
[myString deleteCharactersInRange:NSMakeRange([myRequestString length]-1, 1)];
여기서 설명하는 솔루션은 실제로는 멀티바이트 유니코드 문자("구성된 문자")를 고려하지 않으므로 유니코드 문자열이 비활성화될 수 있습니다.
실제로 iOS 헤더 파일에는 다음과 같은 선언이 포함되어 있습니다.substringToIndex
에는 다음 코멘트가 포함되어 있습니다.
힌트: range Of Composed Character Sequences For Range와 함께 사용: 합성된 문자의 분해를 방지합니다.
를 사용하여 마지막 문자를 올바르게 삭제하는 방법을 참조하십시오.
서류는 당신의 친구입니다.NSString
는 콜을 지원합니다.substringWithRange
단축된 문자열을 반환할 수 있습니다.의 인스턴스는 변경할 수 없습니다.NSString
그것은 불변의 것이다.를 가지고 있는 경우NSMutableString
라고 하는 메서드가 있습니다.deleteCharactersInRange
스트링을 변경할 수 있습니다.
...
NSRange r;
r.location = 0;
r.size = [mutable length]-1;
NSString* shorted = [stringValue substringWithRange:r];
...
언급URL : https://stackoverflow.com/questions/1082178/objective-c-remove-last-character-from-string
'programing' 카테고리의 다른 글
OS X에서 Bash 스크립트 절대 경로 (0) | 2023.04.20 |
---|---|
SSH 공용 키에 액세스하려면 어떻게 해야 하나요? (0) | 2023.04.20 |
SQL Server에서 한 달 동안의 일수를 확인하는 방법 (0) | 2023.04.20 |
.csproj 파일 편집 방법 (0) | 2023.04.20 |
저장된 NSUser Defaults를 쉽게 확인할 수 있습니까? (0) | 2023.04.20 |