множественные замены строк в Objective C - PullRequest
2 голосов
/ 15 ноября 2010

Я знаю, что это неправильный способ сделать это (потому что это ошибки), но вы можете видеть, что я пытаюсь сделать:

NSString *urlTerm = [terms stringByReplacingOccurrencesOfString:@" " withString:@"+"];
NSString *urlTerm = [terms stringByReplacingOccurrencesOfString:@"  " withString:@""];
NSString *urlTerm = [terms stringByReplacingOccurrencesOfString:@"&" withString:@""];
NSString *urlTerm = [terms stringByReplacingOccurrencesOfString:@"'" withString:@""];
NSString *urlTerm = [terms stringByReplacingOccurrencesOfString:@"-" withString:@""];
NSString *urlTerm = [terms stringByReplacingOccurrencesOfString:@"_" withString:@""];

У меня есть поисковый запрос с именем "term", и я хочу вывести очищенную версию в "urlTerm" ??

Ответы [ 3 ]

4 голосов
/ 15 ноября 2010
NSString *urlTerm = [terms stringByTrimmingCharactersInSet:
[NSCharacterSet characterSetWithCharactersInString:@"\t&'-_"]];
urlTerm = [urlTerm stringByReplacingOccurrencesOfString:@" " withString:@"+"];
4 голосов
/ 15 ноября 2010

-stringByReplacingOccurrencesOfString: возвращает новую строку .Исходная строка terms не будет затронута этой функцией. Даже если это повлияет на terms, 2-й оператор никогда не будет успешным, потому что все пробелы стали + уже в 1-м операторе, и двойных пробелов не осталось.пробел "является вкладкой.: |)

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

NSString* urlTerm = terms;
urlTerm = [urlTerm stringByReplacingOccurrencesOfString:@"\t" withString:@""];
urlTerm = [urlTerm stringByReplacingOccurrencesOfString:@"&" withString:@""];
urlTerm = [urlTerm stringByReplacingOccurrencesOfString:@"'" withString:@""];
urlTerm = [urlTerm stringByReplacingOccurrencesOfString:@"-" withString:@""];
urlTerm = [urlTerm stringByReplacingOccurrencesOfString:@"_" withString:@""];
urlTerm = [urlTerm stringByReplacingOccurrencesOfString:@" " withString:@"+"];
1 голос
/ 15 ноября 2010
NSString *urlTerm = [terms stringByReplacingOccurrencesOfString:@" " withString:@"+"];
urlTerm = [urlTerm stringByReplacingOccurrencesOfString:@"  " withString:@""];

и т.д.

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