stringByReplacingOccurrencesOfString:不起作用

时间:2014-01-06 19:03:34

标签: ios nsstring

我希望我的输出为“23”,但仍显示“123”。

NSString *valorTextField = [[NSString alloc] initWithFormat:@"123"];
    [valorTextField stringByReplacingOccurrencesOfString:@"1" withString:@""];
    NSLog(@"%@", valorTextField);

2 个答案:

答案 0 :(得分:11)

stringByReplacingOccurrencesOfString会返回 new 字符串:

NSString *valorTextField = [[NSString alloc] initWithFormat:@"123"];
NSString *replaced = [valorTextField stringByReplacingOccurrencesOfString:@"1" withString:@""];
NSLog(@"%@", replaced);

或者,您可以使用NSMutableString并使用。{ replaceOccurrencesOfString:withString:options:range:方法。

答案 1 :(得分:5)

您没有再次将返回的字符串分配给valorTextField。你只是在执行功能。实际字符串不变。而是写:

valorTextField  = [valorTextField stringByReplacingOccurrencesOfString:@"1" withString:@""];
NSLog(@"%@", valorTextField);