ProgramingTip

NSString의 마지막 문자 제거

bestdevel 2020. 10. 25. 12:42
반응형

NSString의 마지막 문자 제거


NSString의 마지막 문자를 제거 할 때 문제가 있습니다. 저는 Objective-C의 모든이고이를 수행하는 방법을 작업합니다.

저를 밝혀 줄 수 있나요?


NSString *newString = [oldString substringToIndex:[oldString length]-1];

항상 문서를 참조하십시오 .


케이스와 관련된 코드를 포함 비용 :

NSString *str = textField.text;
NSString *truncatedString = [str substringToIndex:[str length]-1];

이 시도 :

s = [s substringToIndex:[s length] - 1];

NSString *string = [NSString stringWithString:@"ABCDEF"];
NSString *newString = [string substringToIndex:[string length]-1];
NSLog(@"%@",newString);

= ABCDE를 볼 수 있습니다.


NSString = *string = @"abcdef";

string = [string substringToIndex:string.length-(string.length>0)];

즉, 문자가있는 경우 (즉, 훨씬의 길이가 0보다 크면) (string.length>0)1을 반환 코드가 다음과 같이 반환됩니다.

 string = [string substringToIndex:string.length-1]; 

즉, (string.length>0)0을 반환하는 코드가 다음과 같이 반환됩니다.

string = [string substringToIndex:string.length-0]; 

충돌을 방지합니다.


이 코드는 마지막 문자를 반환하고 제거하지 않습니다.

NSString *newString = [oldString substringToIndex:[oldString length]-1];

대신 사용을 사용 하여 마지막 문자사용 하고 있습니다.

str = [str substringWithRange:NSMakeRange(0,[str length] - 1)];

또한 길이0 인 NSString에 substringToIndex사용 하면 충돌이 발생합니다.

이렇게하기 전에 다음과 같이 유효성 검사를 추가해야합니다.

if ([str length] > 0) {

   str = [str substringToIndex:[s length] - 1];

}

이를 통해 부분적으로 사용하는 것이 안전합니다.

참고 : 응용 프로그램이 충돌에 취약한 경우 Apple은 응용 프로그램을 거부합니다.


간단하고 최상의 접근

[mutableString deleteCharactersInRange:NSMakeRange([myRequestString length]-1, 1)];

참고 URL : https://stackoverflow.com/questions/7641624/remove-last-character-of-nsstring

반응형