Jam*_*nay 3 cocoa-touch objective-c nsstring number-formatting ios
我有一个NSString这样的东西:
4434332124
我怎么能把它变成这样的东西?
443-433-2124
Nir*_*rma 12
这只能在两行中完成,只需使用NSString的stringWithFormat方法,并将电话号码分成单独的子串,并将整个事物粘贴在您的格式字符串中.像这样的东西:
NSString *sPhone = @"4434332124";
NSString *formatted = [NSString stringWithFormat: @"%@-%@-%@", [sPhone substringWithRange:NSMakeRange(A,B)],[sPhone substringWithRange:NSMakeRange(B,C)],
[sPhone substringWithRange:NSMakeRange(C,D)]];
Run Code Online (Sandbox Code Playgroud)
编辑:工作代码
NSString *formatted = [NSString stringWithFormat: @"%@-%@-%@", [sPhone substringWithRange:NSMakeRange(0,3)],[sPhone substringWithRange:NSMakeRange(3,3)],
[sPhone substringWithRange:NSMakeRange(6,4)]];
Run Code Online (Sandbox Code Playgroud)
如果你想简单快速地替换你确定的10位数字,那么试试这个正则表达式的例子(iOS> = 3.2).
NSString *tenDigitNumber = @"5554449999";
tenDigitNumber = [tenDigitNumber stringByReplacingOccurrencesOfString:@"(\\d{3})(\\d{3})(\\d{4})"
withString:@"$1-$2-$3"
options:NSRegularExpressionSearch
range:NSMakeRange(0, [tenDigitNumber length])];
NSLog(@"%@", tenDigitNumber);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4955 次 |
| 最近记录: |