Muh*_*.HS 11 cocoa-touch objective-c nsstring
如何从中删除前导零NSString?
我有:
NSString *myString;
其值如@"0002060",@"00236"和@"21456".
如果它们发生,我想删除任何前导零:
例如,将前一个转换为@"2060",@"236"和@"21456".
谢谢.
ada*_*ali 30
对于较小的数字:
NSString *str = @"000123";
NSString *clean = [NSString stringWithFormat:@"%d", [str intValue]];
Run Code Online (Sandbox Code Playgroud)
对于超过int32范围的数字:
NSString *str = @"100004378121454";
NSString *clean = [NSString stringWithFormat:@"%d", [str longLongValue]];
Run Code Online (Sandbox Code Playgroud)
Mon*_*olo 17
这实际上是一个非常适合正则表达式的情况:
NSString *str = @"00000123";
NSString *cleaned = [str stringByReplacingOccurrencesOfString:@"^0+"
withString:@""
options:NSRegularExpressionSearch
range:NSMakeRange(0, str.length)];
Run Code Online (Sandbox Code Playgroud)
只有一行代码(在逻辑意义上,为了清晰起见添加了换行符),并且它处理的字符数没有限制.
正则表达式模式的简要说明:
这^意味着模式应该锚定到字符串的开头.我们需要确保它不匹配数字序列中的合法零.
该0+部分意味着它应匹配一个或多个零.
放在一起,它匹配字符串开头的一个或多个零序列,然后用空字符串替换它 - 即,它删除前导零.
| 归档时间: |
|
| 查看次数: |
5344 次 |
| 最近记录: |