3

我正在从磁盘上的源文件中读取一行代码,该行是一个字符串,它是一个包含 HTML 代码的字符串:

line = @"format = @"<td width=\"%@\">";"

我需要从 html 字符串中删除转义字符。所以任何有'\"'的地方,我都需要用''替换它。我试过这个:

[line stringByReplacingOccurrencesOfString:@"\\""" withString:@""];

但它只删除了 '\' 字符,而不是随附的 '"'。如何从该字符串中删除转义的 '"'?

编辑:这个问题的关键部分是我需要找出一种方法来识别第一个 @" 的位置,以及字符串声明的结束 ",并忽略/删除其他所有内容。如果有更好的方法来实现这一点,我会全力以赴。

4

2 回答 2

2
[s stringByReplacingOccurrencesOfString:@"\\\"" withString:@""]

替换字符串有一个斜杠,必须在文字替换字符串中使用另一个斜杠对其进行转义,然后是引号,在文字中也必须通过斜杠对其进行转义。

于 2013-10-18T06:42:39.123 回答
-1

尝试使用这个:

NSString *unfilteredString = @"!@#$%^&*()_+|abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
NSCharacterSet *notAllowedChars = [[NSCharacterSet characterSetWithCharactersInString:@"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"] invertedSet];
NSString *resultString = [[unfilteredString componentsSeparatedByCharactersInSet:notAllowedChars] componentsJoinedByString:@""];
NSLog (@"Result: %@", resultString);
于 2013-10-18T06:28:57.903 回答