0

我在我的代码中使用了以下行。但是我得到“程序错误中的意外'@'”。我使用 \n 并将 html 字符串制作为单行。但它没有分隔字符串。如何解决这个问题?

NSArray *temp1 = [str componentsSeparatedByString:@"</td>
                          </tr>
                          <tr>"];
4

4 回答 4

0

用这个NSArray *temp1 = [str componentsSeparatedByString:@"<//td><//tr><tr>"];

于 2013-06-12T10:44:50.317 回答
0
NSString *str=@"<table border=1><tr><td>row 1 cell 1</td><td>row 1 cell 2</td></tr><tr><td>row 2 cell 1</td><td>row 2, cell 2</td></tr></table>";
NSArray *temp1 = [str componentsSeparatedByString:@"</td></tr><tr>"];
NSLog(@"1 = %@",[temp1 objectAtIndex:0]);
NSLog(@"2 = %@",[temp1 objectAtIndex:1]);
//output
2013-06-12 15:49:02.641 PhotoPicker[5967:11303] 1 = <table border=1><tr><td>row 1        cell 1</td><td>row 1 cell 2
2013-06-12 15:49:11.544 PhotoPicker[5967:11303] 2 = <td>row 2 cell 1</td><td>row 2, cell 2</td></tr></table>

y那个错误..你可以添加你的字符串吗?

于 2013-06-12T10:21:40.490 回答
0

在您的情况下,此文本中有 enterKey

@"</td>
                          </tr>
                          <tr>";

删除 Enter 键和空格它将起作用。

于 2013-06-12T10:27:09.993 回答
0

正如其他人指出的那样,您在该 separatorBy 字符串中的元素之间有一些空白字符(空格、cr、制表符等)。建议:

  • 在执行 componentsSeparatedByString 之前,使用某种 HTML 整理来获得更多可预测的内容。
  • 尝试NSArray *temp1 = [str componentsSeparatedByString:@"</td>\n</tr>\n<tr>"];或类似的东西,以免破坏 separatorBy 字符串。
于 2013-06-12T11:55:58.987 回答