mru*_*gen 17 string cocoa objective-c nsstring
我有一个字符串,0023525631但我想要的是字符串23525631- 没有前导零.我该怎么做呢?
Bal*_*alu 25
像这样使用Reguler Expression,
NSString *str =@"000034234247236000049327428900000";
NSRange range = [str rangeOfString:@"^0*" options:NSRegularExpressionSearch];
str= [str stringByReplacingCharactersInRange:range withString:@""];
NSLog(@"str %@",str);
Run Code Online (Sandbox Code Playgroud)
O/P: - str 34234247236000049327428900000
Svi*_*ack 10
如果您是数字,可以将字符串转换为整数,将整数转换为字符串.
要么
声明指向此字符串的指针并将此指针设置为字符串的开头,然后迭代字符串并在字符串的开头添加此指针的零数.然后你有指向字符串的指针,它在零之前开始,你必须使用指针来识别没有零的字符串,如果你使用字符串,你可以用零得到字符串.
要么
你可以反向字符串,并从反向迭代它,如果你得到一些char != '0'你停止迭代其他你重写此char为null.在它之后你可以反向字符串以在字符串中返回你的整数而不带前导零.
你可以用这个:
NSString *testStr = @"001234056";
testStr = [NSString stringWithFormat:@"%d",[testStr intValue];
Run Code Online (Sandbox Code Playgroud)
我在这里假设您只想删除前导零.IE @"*00*1234*0*56"变为@"1234*0*56",而不是@"123457".要做到这一点,我会使用NSScanner.
// String to strip
NSString *test = @"001234056";
// Skip leading zeros
NSScanner *scanner = [NSScanner scannerWithString:test];
NSCharacterSet *zeros = [NSCharacterSet
characterSetWithCharactersInString:@"0"];
[scanner scanCharactersFromSet:zeros intoString:NULL];
// Get the rest of the string and log it
NSString *result = [test substringFromIndex:[scanner scanLocation]];
NSLog(@"%@ reduced to %@", test, result);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13345 次 |
| 最近记录: |