将字符串中的空白字符替换为"0"

Lok*_*oko 1 objective-c ios

我有一个NSString@"05205"@"05931"左右.我想删除前导0个字符.

例如@"05205"in @"5205"@"00072"in @"72".

如何在Objective-C中实现这一目标?

Ram*_*uri 7

使用NSStringCompareOptions NSAnchoredSearch,搜索仅限于字符串的开头,因此您可以使用stringByReplacingOccurrencesOfString:withString:options:range:以下方式:

NSString* str= @"0072";
str= [str stringByReplacingOccurrencesOfString:@"0"
                                    withString:@""
                                       options:NSAnchoredSearch
                                         range:NSMakeRange(0, str.length)];
Run Code Online (Sandbox Code Playgroud)

  • 这比rdelmar的巧妙技巧更好,更通用. (2认同)

rde*_*mar 6

如果将字符串转换为整数然后返回字符串,它将修剪前导零.

NSString *s = @"0072";
NSString *newString =[ NSString stringWithFormat:@"%d",[s integerValue]];
Run Code Online (Sandbox Code Playgroud)

  • +1聪明的解决方案.即使可能效率较低的`@(@"0042".integerValue).stringValue,你也可以缩短它. (3认同)