如何从NSString中删除双引号。例如:
//theMutableString: "Hello World"
[theMutableString replaceOccurrencesOfString:@"\"" withString:@"" options:NSCaseInsensitiveSearch range:(NSRange){0,[theMutableString length]}]
它似乎不起作用,也许因为我不得不逃避“在replaceOccurrencesOfString?
答案 0 :(得分:17)
使用NSMakeRange
功能代替您的演员。这个工作:
[mString replaceOccurrencesOfString:@"\"" withString:@"" options:NSCaseInsensitiveSearch range:NSMakeRange(0, [mString length])];
答案 1 :(得分:4)
这个怎么样?
NSCharacterSet *quoteCharset = [NSCharacterSet characterSetWithCharactersInString:@"\""];
NSString *trimmedString = [toBeTrimmedString stringByTrimmingCharactersInSet:quoteCharset];
答案 2 :(得分:2)
假设mString位是拼写错误。我运行了这段代码,答案是按预期进行的
NSMutableString * theMutableString = [[NSMutableString alloc] initWithString:@"\"Hello World!\""];
NSLog(@"%@",theMutableString);
[theMutableString replaceOccurrencesOfString:@"\"" withString:@"" options:NSCaseInsensitiveSearch range:(NSRange){0,[theMutableString length]}];
NSLog(@"%@",theMutableString);
[theMutableString release];
输出
2010-01-23 15:49:42.880 Stringtest[2039:a0f] "Hello World!"
2010-01-23 15:49:42.883 Stringtest[2039:a0f] Hello World!
所以mString在你的问题中是一个错字,那么你的代码是正确的,问题出在其他地方。如果你的代码中的mString是一个拼写错误而不是问题。
答案 3 :(得分:0)
如果使用NSMakeRange(0, [theMutableString length])
而不是尝试强制转换内联结构,会发生什么?
答案 4 :(得分:0)
我使用NSMakeRange和内联struct cast完成了我的完美工作(我复制粘贴你的替换行)。你确定你的NSString中的引号实际上是ASCII字符0x22吗?
答案 5 :(得分:0)
您可以使用
string = [string stringByReplacingOccurrencesOfString:@"\"" withString:@"" options:NSCaseInsensitiveSearch range:NSMakeRange(0, [string length])];