删除& nbsp;从保存在NSString中的html字符串

时间:2012-01-05 15:39:55

标签: objective-c nsstring

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 个答案:

答案 0 :(得分:2)

test是一个不可变的字符串,当您进行替换时,您忽略了结果。试试这个:

test = [test stringByReplacingOccurrencesOfString:@"&amp;nbsp;" withString:@"s"];

答案 1 :(得分:0)

此方法不会更改您向其发送消息的字符串,而是返回一个新字符串。

NSString *newStr = [test stringByReplacingOccurrencesOfString:@"&amp;nbsp;"
                                                   withString:@"s"];

答案 2 :(得分:0)

我尝试使用以下单元测试来操作字符串:

- (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...放入新变量? 此方法不会改变对象,但会返回一个新的字符串实例。

答案 3 :(得分:0)

您可以尝试更换&amp; nbsp;用&amp;#160代替,看看那是如何编译的。