【问题标题】:How can I trimmed NSMutableString when other NSMutableString is not to be trimmed in Objective-C当在 Objective-C 中不修剪其他 NSMutableString 时,如何修剪 NSMutableString
【发布时间】:2016-11-17 07:45:53
【问题描述】:

我在从 NSMutableString 中删除空格时遇到问题。 我正在使用这样的代码:

-(void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{
    if(!myMutableStringSiteObj)
        myMutableStringSiteObj = [[NSMutableString alloc] initWithString:string];
    else
    {
        [myMutableStringSiteObj appendString:string];
        NSString *trimmedString = [myMutableStringSiteObj stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
        [myMutableStringSiteObj setString:trimmedString];

        NSData *datasite = [myMutableStringSiteObj dataUsingEncoding:NSUTF8StringEncoding];
        responseSitedict = [NSJSONSerialization JSONObjectWithData:datasite options:0 error:nil];
        NSLog(@"JSON DATA = %@",responseSitedict);
    }

    myMutableStringObj=[[NSMutableString alloc]initWithString:string];
    NSLog(@"Array String: %@",myMutableStringObj);
    NSData *data = [myMutableStringObj dataUsingEncoding:NSUTF8StringEncoding];
    responsedict = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
    NSLog(@"JSON DATA = %@",responsedict);

    myMutableStringbranchObj=[[NSMutableString alloc]initWithString:string];
    NSLog(@"Array String: %@",myMutableStringbranchObj);
    NSData *databranch = [myMutableStringbranchObj dataUsingEncoding:NSUTF8StringEncoding];
    responsebranchdict = [NSJSONSerialization JSONObjectWithData:databranch options:0 error:nil];
    NSLog(@"JSON DATA = %@",responsebranchdict);
}

在这段代码中有三个字符串,一个字符串包含空格,另外两个字符串不包含空格。首先它需要 myMutableStringObj 的 Id,然后是 myMutableStringbranchObj,然后是 myMutableStringSiteObj。但是当涉及到 myMutableStringSiteObj 应用程序时会崩溃,因为它包含空格。但是修剪字符串的代码不起作用。

【问题讨论】:

  • 我不认为在 XML 解析器中这样做是一个好主意。您对传递给该委托方法的文本片段一无所知。我认为您最好在拥有完整的文档后执行此操作,以便修剪正确的元素。
  • @Droppy 我对传递给该委托方法的 ext 片段一无所知。

标签: ios objective-c xib


【解决方案1】:

如果你想修剪一个字符串(删除第一个和最后一个空格),那么你可以使用以下函数。

 NSString *newString = [yourString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];

【讨论】:

  • 我已经在使用了。但是还有其他两个字符串为什么它不起作用。
【解决方案2】:

试试这个效果 NSString *Spacetrimmed = [foo stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];

【讨论】:

  • 我已经在使用了。但是还有其他两个字符串为什么它不起作用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-07
  • 2013-05-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多