【问题标题】:Issue in inserting comma while concatenating strings连接字符串时插入逗号的问题
【发布时间】:2013-07-22 07:09:52
【问题描述】:

在我的应用程序中,我有一个 address 标签,其中包含 "address1""Address2"" 的值城市”“州”。在标签中显示时,我需要在每个值之间插入逗号。

但如果一个字符串没有值(比如 "Address2"),则不应在其中插入唯一的逗号。

谁能帮我解决这个问题?

【问题讨论】:

标签: iphone ios nsstring uilabel


【解决方案1】:

这里认为dictLocation 是一个字典,其中包含 Address1、Address2、City、State、Country 和 Zip:

示例dictLocation:

NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:@"add1", @"Address1", @"add2", @"Address2",@"cityname",@"City",@"state",@"StateName",@"country",@"CountryName",@"350010",@"ZipCode",nil];

代码:

-(NSMutableString *)createLocationAddress:(NSDictionary *)dictLocation
{
    NSMutableString *strAddress = [[NSMutableString alloc] initWithString:@""];

    NSString *strStreetAddress1 = @"";
    if(dictLocation != nil && [dictLocation valueForKey:@"Address1"] != nil)
    {
        strStreetAddress1 = [StringUtility trimWhiteSpaceAndNewLine:[dictLocation valueForKey:@"Address1"]];
    }

    [strAddress appendString:strStreetAddress1];


    NSString *strAddress2 = @"";
    if(dictLocation != nil && [dictLocation valueForKey:@"Address2"] != nil)
    {
        strAddress2 = [StringUtility trimWhiteSpaceAndNewLine:[dictLocation valueForKey:@"Address2"]];
    }

    if(![strAddress2 isEqualToString:@""])
    {
        if(![strAddress isEqualToString:@""])
            [strAddress appendString:@", "];
        [strAddress appendString:strAddress2];
    }


    NSString *strLocationCity = @"";
    if(dictLocation != nil && [dictLocation valueForKey:@"City"] != nil)
    {
        strLocationCity = [StringUtility trimWhiteSpaceAndNewLine:[dictLocation valueForKey:@"City"]];
    }

    if(![strLocationCity isEqualToString:@""])
    {
        if(![strAddress isEqualToString:@""])
            [strAddress appendString:@", "];
        [strAddress appendString:strLocationCity];
    }

    NSString *strLocationState = @"";
    if(dictLocation != nil && [dictLocation valueForKey:@"StateName"] != nil)
    {
        strLocationState = [StringUtility trimWhiteSpaceAndNewLine:[dictLocation valueForKey:@"StateName"]];
    }

    if(![strLocationState isEqualToString:@""])
    {
        if(![strAddress isEqualToString:@""])
            [strAddress appendString:@",\n"];
        [strAddress appendString:strLocationState];
    }

    NSString *strLocationCountry = @"";
    if(dictLocation != nil && [dictLocation valueForKey:@"CountryName"] !=nil)
    {
        strLocationCountry = [StringUtility trimWhiteSpaceAndNewLine:[dictLocation valueForKey:@"CountryName"]];
    }

    if(![strLocationCountry isEqualToString:@""])
    {
        if(![strAddress isEqualToString:@""])
            [strAddress appendString:@", "];
        [strAddress appendString:strLocationCountry];
    }

    NSString *strLocationZipcode = @"";
    if(dictLocation != nil && [dictLocation valueForKey:@"ZipCode"] != nil)
    {
        strLocationZipcode = [StringUtility trimWhiteSpaceAndNewLine:[dictLocation valueForKey:@"ZipCode"]];
    }

    if(![strLocationZipcode isEqualToString:@""])
    {
        if(![strAddress isEqualToString:@""])
            [strAddress appendString:@", "];
        [strAddress appendString:strLocationZipcode];
    }

    return strAddress;

}

希望这会有所帮助。

如果您还需要什么,请告诉我

【讨论】:

    猜你喜欢
    • 2019-02-13
    • 1970-01-01
    • 2010-10-17
    • 2014-05-27
    • 2017-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多