如何在不插入空格的情况下替换NSString中的字符?

时间:2010-04-05 23:47:13

标签: iphone objective-c cocoa cocoa-touch nsstring

我们假设我有字符串

NSString* myString  = @"Hello,";

如何在不留空格的情况下删除逗号?我试过了:

NSString* newString = [myString stringByReplacingOccurrencesOfString:@"," withString:@""];

NSString* newString = [myString stringByTrimmingCharactersInSet:[NSCharacterSet punctuationCharacterSet]];

但两者都留有空间。

3 个答案:

答案 0 :(得分:102)

我刚刚将以下内容作为测试

运行
NSString * myString = @"Hello,";

NSString * newString = [myString stringByReplacingOccurrencesOfString:@"," withString:@""];

NSLog(@"%@xx",newString);

我得到2010-04-05 18:51:18.885 TestString[6823:a0f] Helloxx作为输出。没有空间了。

答案 1 :(得分:0)

NSString *newString = [myString substringToIndex:5];

这将确保字符串中只有5个字符,但要注意,如果字符串中没有至少 5个字符,这也会引发异常。你是如何处理这个字符串的?它是否显示给用户?它被写入文件吗?您发布的代码不会重现错误,因此您可能应该发布您遇到问题的代码。

答案 2 :(得分:0)

你可以使用的另一种方式.. by stringByReplacingCharactersInRange

token = [token stringByReplacingCharactersInRange:NSMakeRange(i, 1) withString:@"*"];

"令牌"是你想要更换NSString和" i"你想用" *"来改变NSString吗?