我有一串格式为(123) - (456)-7890的电话号码但如何转换为以下表格1234567890?
答案 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的电话库。格式化和提取电话号码很难。我甚至不会亲自尝试自己动手。