Удалить двойные кавычки из NSString - PullRequest
4 голосов
/ 24 января 2010

Как удалить двойные кавычки из строки NSString. Пример:

//theMutableString: "Hello World"

[theMutableString replaceOccurrencesOfString:@"\"" withString:@"" options:NSCaseInsensitiveSearch range:(NSRange){0,[theMutableString length]}]

Кажется, это не сработает, может быть, так как мне пришлось избежать "в replaceOccurferencesOfString?

Ответы [ 6 ]

17 голосов
/ 24 января 2010

Используйте функцию NSMakeRange вместо вашего состава. Это будет работать:

[mString replaceOccurrencesOfString:@"\"" withString:@"" options:NSCaseInsensitiveSearch range:NSMakeRange(0, [mString length])];
4 голосов
/ 29 января 2016

Как насчет этого?

NSCharacterSet *quoteCharset = [NSCharacterSet characterSetWithCharactersInString:@"\""];
NSString *trimmedString = [toBeTrimmedString stringByTrimmingCharactersInSet:quoteCharset];
2 голосов
/ 24 января 2010

Предполагая, что бит 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 является опечаткой в ​​вашем коде, это может быть проблемой.

0 голосов
/ 04 июня 2014

Вы можете использовать

string = [string stringByReplacingOccurrencesOfString:@"\"" withString:@"" options:NSCaseInsensitiveSearch range:NSMakeRange(0, [string length])];
0 голосов
/ 24 января 2010

Я отлично работаю с моей стороны (я скопировал вашу строку замены), как с NSMakeRange, так и со встроенным приведением структуры. Вы уверены, что кавычки в вашей строке NSSt действительно являются символом ASCII 0x22?

0 голосов
/ 24 января 2010

Что произойдет, если вы используете NSMakeRange(0, [theMutableString length]) вместо попытки приведения встроенной структуры?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...