-3

我想从中删除"NSString但它不起作用。

该字符串来自 XMLParser:

- (void)parser:(NSXMLParser *)parser
 didEndElement:(NSString *)elementName
  namespaceURI:(NSString *)namespaceURI
 qualifiedName:(NSString *)qName
{
  if([elementName isEqualToString:@"li"]){
      _isAnswer = NO;
  }else if([elementName isEqualToString:@"span"]){
     NSString *immutableString = [NSString stringWithString:currentElementValue];//currentElementValue is myMutableString
     NSString* myString = [immutableString stringByReplacingOccurrencesOfString:@"\"" withString:@"00000"];
     myString = [myString stringByReplacingOccurrencesOfString:@"״" withString:@"00000"];
     myString = [myString stringByReplacingOccurrencesOfString:@"“" withString:@"00000"];
     myString = [myString stringByReplacingOccurrencesOfString:@"”" withString:@"00000"];          

NSLog (@"myString - ", myString); } }

  • 来自 xml 的字符串有一个"

  • 日志:

    myString - this is the " string
    

    代替:

    myString - this is the 00000 string
    
4

1 回答 1

0

我已经测试了你的代码,这里一切正常。您的代码中某处存在问题,您没有共享...

    NSString *str = @"LOL \"... ";

    NSLog(@"%@",str);
    str = [str stringByReplacingOccurrencesOfString:@"\"" withString:@"00000"];
    NSLog(@"%@",str);

这是输出:

>>  LOL "... 
>>  LOL 00000... 

向我们展示您的字符串是如何初始化的


编辑:

1)首先确保它是"字符,而不是״,“或”</p>

2)尝试这样的事情,它的结果与我的第一个答案相同。

    NSString *str = @"LOL \"... ";

    unichar const maskChar = 0x0022; // Code of " char
    NSString *mask = [[NSString alloc] initWithCharacters:&maskChar length:1];

    NSLog(@"%@",str);
    str = [str stringByReplacingOccurrencesOfString:mask withString:@"00000"];
    NSLog(@"%@",str);

如果第二种解决方案不起作用,则不是"字符

于 2013-08-14T15:47:18.627 回答