Objective-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)];
여기에 제공된 솔루션은 실제로 멀티 바이트 유니 코드 문자 ( "구성된 문자")를 고려하지 않으므로 유효하지 않은 유니 코드 문자열이 발생할 수 있습니다.
실제로의 선언을 substringToIndex
포함하는 iOS 헤더 파일 에는 다음 주석 이 포함됩니다.
힌트 : rangeOfComposedCharacterSequencesForRange와 함께 사용하여 구성된 문자가 깨지지 않도록하십시오.
마지막 문자를 올바르게 삭제 하는 방법을rangeOfComposedCharacterSequenceAtIndex:
참조하십시오 .
문서는 당신의 친구이며, 단축 문자열을 반환하는 문자열을 단축 할 수 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 tip' 카테고리의 다른 글
Android ListView에서 프로그래밍 방식으로 특정 위치로 스크롤 (0) | 2020.06.10 |
---|---|
배열의 모든 값이 같은지 확인하십시오 (0) | 2020.06.10 |
쿠키와 세션의 차이점은 무엇입니까? (0) | 2020.06.10 |
파이썬에서 바이트 문자열을 정수로 변환하는 방법 (0) | 2020.06.10 |
Intellij IDEA : "소스에서 스크롤"에 대한 단축키 (0) | 2020.06.09 |