【发布时间】:2013-10-18 06:24:37
【问题描述】:
我正在从磁盘上的源文件中读取一行代码,该行是一个字符串,它是一个包含 HTML 代码的字符串:
line = @"format = @"<td width=\"%@\">";"
我需要从 html 字符串中删除转义字符。所以任何有'\"'的地方,我都需要用''替换它。我试过这个:
[line stringByReplacingOccurrencesOfString:@"\\""" withString:@""];
但它只删除了 '\' 字符,而不是随附的 '"'。如何从该字符串中删除转义的 '"'?
编辑:这个问题的关键部分是我需要找出一种方法来识别第一个 @" 的位置,以及字符串声明的结束 ",并忽略/删除其他所有内容。如果有更好的方法来实现这一点,我会全力以赴。
【问题讨论】:
-
斜线不是字符串的一部分;它只存在于文字代码中,以便编译器知道它后面的
"不会结束字符串。您无法删除 \,因为它实际上并不存在。 -
我的应用程序的目的是评估代码文件。当我从文件中读取字符串时,\ 就在那里。所以我确实有一个看起来像上面的字符串:@"format = @"
";" 哦,好吧。所以你想用“双引号”替换“斜线后跟双引号”?还是完全去掉这两个?恐怕这个问题的性质使您的问题有点难以阅读。对不起。是的,我想用任何内容替换“斜线后跟双引号”。我想删除它。我会再次尝试编辑问题。这不是你的错;自然很难将这种结构标记起来,也很难区分您输入的是双引号还是两个单引号不包含任何内容。
标签: ios objective-c cocoa-touch nsstring escaping