Удалить из HTML-строки, сохраненной в NSString - PullRequest
1 голос
/ 05 января 2012
NSString* test = @"<b> Terms and Conditions</b><br />
- No  smoking(by law) <br />
 &amp;nbsp; No chewing pan(by law)<br />"
[test stringByReplacingOccurrencesOfString:@"&amp;nbsp;" withString:@"s"];

Я пытался удалить это "&amp;nbsp;", но это не удалось? Есть идеи ??

Спасибо

Ответы [ 4 ]

2 голосов
/ 05 января 2012

test является неизменной строкой, и вы игнорируете результат, когда выполняете замену. Попробуйте это:

test = [test stringByReplacingOccurrencesOfString:@"&amp;nbsp;" withString:@"s"];
0 голосов
/ 11 марта 2013

Вместо этого вы можете попробовать заменить на и посмотреть, как это скомпилируется таким образом.

0 голосов
/ 05 января 2012

Я пытался манипулировать строкой с помощью следующего модульного теста:

- (void) testStringManipulation {
    NSString* test = @"<b> Terms and Conditions</b><br />   - No  smoking(by law) <br /> &amp;nbsp; No chewing pan(by law)<br />";
    NSString* expected = @"<b> Terms and Conditions</b><br />   - No  smoking(by law) <br /> s No chewing pan(by law)<br />";
    NSString *result = [test stringByReplacingOccurrencesOfString:@"&amp;nbsp;" withString:@"s"];
    STAssertTrue([expected isEqualToString:result], @"Should be true");
}

Это проходит в моей IDE. Я использую OCUnit.

Вы положили [test stringByReplacingOccurrencesOfString... в новую переменную?
Этот метод не изменяет объект, но возвращает новый экземпляр строки.

0 голосов
/ 05 января 2012

Этот метод не изменяет строку, в которую вы отправляете сообщение, а возвращает новую строку.

NSString *newStr = [test stringByReplacingOccurrencesOfString:@"&amp;nbsp;"
                                                   withString:@"s"];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...