NSString* test = @"<b> Terms and Conditions</b><br />
- No smoking(by law) <br />
&nbsp; No chewing pan(by law)<br />"
[test stringByReplacingOccurrencesOfString:@"&nbsp;" withString:@"s"];
我试图删除"&nbsp;"
,但它没有这样做?任何想法??
由于
答案 0 :(得分:2)
test
是一个不可变的字符串,当您进行替换时,您忽略了结果。试试这个:
test = [test stringByReplacingOccurrencesOfString:@"&nbsp;" withString:@"s"];
答案 1 :(得分:0)
此方法不会更改您向其发送消息的字符串,而是返回一个新字符串。
NSString *newStr = [test stringByReplacingOccurrencesOfString:@"&nbsp;"
withString:@"s"];
答案 2 :(得分:0)
我尝试使用以下单元测试来操作字符串:
- (void) testStringManipulation {
NSString* test = @"<b> Terms and Conditions</b><br /> - No smoking(by law) <br /> &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:@"&nbsp;" withString:@"s"];
STAssertTrue([expected isEqualToString:result], @"Should be true");
}
这在我的IDE中传递。 我正在使用OCUnit。
您是否将[test stringByReplacingOccurrencesOfString...
放入新变量?
此方法不会改变对象,但会返回一个新的字符串实例。
答案 3 :(得分:0)
您可以尝试更换&amp; nbsp;用&amp;#160代替,看看那是如何编译的。