for 循环后,NSMutableArray 中的字符串对象添加了未知引号
Unknown quotation marks added to string object in NSMutableArray after for loop
我有一个 NSString
对象数组,这些对象有一些不必要的字符(一个对象在控制台中看起来像这样:"\"stringContent\""
),我正在使用下面的代码删除这些字符。它工作正常,但是当我记录 arr1
时,50-60% 的字符串有这样的引号 "stringContent"
,其他的没有。实际上我的问题是我不知道为什么会这样,因为当我在 for 循环中记录字符串时,它们没有引号。有人知道是什么原因造成的吗?
NSMutableArray * arr1 = [[NSMutableArray alloc ]init];
for (NSString *str in self.stringArray) {
NSString *newString = [str substringToIndex:[brand length]-1];
NSString *nwstr = [newString substringFromIndex:1];
[arr1 addObject:nwstr];
NSLog(@"string %@", nwstr);
}
NSLog(@"array %@", arr1);
其他可能有用的东西,当我调用它时,每个对象都出现在控制台中,就像 containsString
方法的引号被隐藏一样,因为很多不符合要求的 if 语句。
for (NSString *str in arr1) {
if (![str containsString:@"\""]) {
NSLog(@"XXX %@", str);
}
}
当您对 NSArray 或 NSDictionary 进行 NSLog 时,元素以日志格式显示,其中可能(或可能不)包含无故引号、转义字符等。具体而言,引号用于字符串周围,除非字符串不包含非字母字符或空格。
更多细节: 实际发生的是 NSLog 在内部调用 [NSString stringWithFormat:]
或其亲属之一来格式化要记录的文本。 stringWithFormat:
依次调用参数列表中对应于 %@
格式指令的每个对象的 description
方法。 NSArray 和 NSDictionary 的 description
方法添加了额外的字符。
我有一个 NSString
对象数组,这些对象有一些不必要的字符(一个对象在控制台中看起来像这样:"\"stringContent\""
),我正在使用下面的代码删除这些字符。它工作正常,但是当我记录 arr1
时,50-60% 的字符串有这样的引号 "stringContent"
,其他的没有。实际上我的问题是我不知道为什么会这样,因为当我在 for 循环中记录字符串时,它们没有引号。有人知道是什么原因造成的吗?
NSMutableArray * arr1 = [[NSMutableArray alloc ]init];
for (NSString *str in self.stringArray) {
NSString *newString = [str substringToIndex:[brand length]-1];
NSString *nwstr = [newString substringFromIndex:1];
[arr1 addObject:nwstr];
NSLog(@"string %@", nwstr);
}
NSLog(@"array %@", arr1);
其他可能有用的东西,当我调用它时,每个对象都出现在控制台中,就像 containsString
方法的引号被隐藏一样,因为很多不符合要求的 if 语句。
for (NSString *str in arr1) {
if (![str containsString:@"\""]) {
NSLog(@"XXX %@", str);
}
}
当您对 NSArray 或 NSDictionary 进行 NSLog 时,元素以日志格式显示,其中可能(或可能不)包含无故引号、转义字符等。具体而言,引号用于字符串周围,除非字符串不包含非字母字符或空格。
更多细节: 实际发生的是 NSLog 在内部调用 [NSString stringWithFormat:]
或其亲属之一来格式化要记录的文本。 stringWithFormat:
依次调用参数列表中对应于 %@
格式指令的每个对象的 description
方法。 NSArray 和 NSDictionary 的 description
方法添加了额外的字符。