从字符串中删除格式:“(123)456-7890”=>目标c中的“1234567890”

时间:2016-05-31 06:27:06

标签: ios objective-c

我有一串格式为(123) - (456)-7890的电话号码但如何转换为以下表格1234567890?

6 个答案:

答案 0 :(得分:2)

试试这个

NSString *numberString = [[mixedString componentsSeparatedByCharactersInSet:
                [[NSCharacterSet decimalDigitCharacterSet] invertedSet]] 
                componentsJoinedByString:@""];

它会给出一个字符串的数字。

答案 1 :(得分:1)

stringByReplacingOccurrencesOfString也支持正则表达式

NSString *phoneNumber = @"(123)-(456)-7890";
NSString *filteredPhoneNumber = [phoneNumber stringByReplacingOccurrencesOfString:@"[ ()-]" 
                                 withString:@""
                                    options:NSRegularExpressionSearch 
                                      range:NSMakeRange(0, phoneNumber.length)];
NSLog(@"%@", filteredPhoneNumber);

在第一个参数的括号中放置所有要忽略的字符。

另一种正则表达式是@"[^\\d+]",这意味着忽略所有非数字字符

答案 2 :(得分:0)

NSString *str = @"(123)-(456)-7890";
str = [str stringByReplacingOccurrencesOfString: @"(" withString:@""];
str = [str stringByReplacingOccurrencesOfString: @")" withString:@""];
str = [str stringByReplacingOccurrencesOfString: @"-" withString:@""];
NSLog(@"Output = %@",str);

输出 = 1234567890

答案 3 :(得分:0)

您还可以使用<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div contenteditable="true"> </div> <button type="button" class="remove">Remove unwanted</button>

替换单行编码中的更多字符
stringByReplacingOccurrencesOfString

YourString ==&gt; 1234567890

答案 4 :(得分:0)

使用此代码,

NSString *valString = @"(123)456-7890";

NSString* phoneStr=[[[valString stringByReplacingOccurrencesOfString:@"(" withString:@""] stringByReplacingOccurrencesOfString:@")" withString:@""] stringByReplacingOccurrencesOfString:@"-" withString:@""];

NSLog(@"phone String %@",phoneStr); // finally you get phone String 1234567890

它为我工作,希望它有用

答案 5 :(得分:0)

如果您希望代码在美国境外使用,请使用Google的电话库。格式化和提取电话号码很难。我甚至不会亲自尝试自己动手。