【发布时间】:2014-01-19 04:16:25
【问题描述】:
在 for 循环中,我有一个如下所示的 if 语句:
if([numberValues rangeOfString:@"+"].location == NSNotFound) {
NSLog(@"Phone Number does not contain a plus sign.");
} else {
NSLog(@"Phone number does contain a +");
[numberValues stringByReplacingOccurrencesOfString:@"+" withString:@""];
NSLog(@"This new numberValues object should not have a + anymore: %@", numberValues);
}
我可以确认rangeOfString: 方法调用完美无缺,因为我的通讯录中有电话号码不以“+”开头,并且会打印“电话号码不包含加号”。到日志。
我的问题是stringByReplacingOccurrencesOfString: 调用不起作用。通话结束后,当我将numberValues 对象数据打印到日志时,电话号码仍然看起来像“+13997573173”,而不是像“13997573173”这样没有加号的打印。
我什至尝试将方法调用中的“+”更改为电话号码的前 4 位数字,但它仍然不会用新字符串替换目标字符串。
它每次只打印相同的值。任何想法为什么stringByReplacingOccurrencesOfString: 不适合我?
【问题讨论】:
-
我怎样才能确切地看到谁先回答?请参阅我的问题底部的“PS”。
-
将鼠标悬停在与帖子关联的“已回答 x 分钟”前以查看时间戳。 i.stack.imgur.com/8JnzV.png
-
感谢乔希的提示。
标签: ios objective-c string cocoa-touch nsstring