【问题标题】:How to extract string from string如何从字符串中提取字符串
【发布时间】:2016-11-05 18:05:33
【问题描述】:

如何分别存储高度值“6ft 7inch” 一根绳子 6 英尺,另一根绳子 7 英寸。

6 和 7 将动态变化 ft 英寸将保持不变。

【问题讨论】:

  • 为什么这个Q标有不清楚,你在问什么

标签: objective-c nsstring nsmutablestring


【解决方案1】:

我假设总会有一个空格字符分隔您要提取的 2 个高度值。您可以使用 -componentsSeparatedByString 方法将字符串转换为由空格字符分隔的字符串数组

NSString *originalString = @"6ft 7inch";
NSArray *separatedStrings = [originalString componentsSeparatedByString:@" "];

NSString *feetString = separatedStrings[0];
NSString *inchString = separatedStrings[1];

如果可能存在中间没有空格的情况,您必须找到关键字符集的索引,然后使用它们创建子字符串。如果您需要知道如何操作,请告诉我

【讨论】:

    【解决方案2】:

    你只需要拆分字符串。

    NSString *combineString=@"6ft 7inch";
    NSArray *stringsArray=[combineString componentsSeparatedByString:@" "];
    
    if ([stringsArray count ]> 0) {
    
        //here is the ft string
        NSString *ftString=[stringsArray objectAtIndex:0];
    
        if ([stringsArray count ]> 1)
        {
            //here is the inch string
            NSString *inchString=[stringsArray objectAtIndex:1];
        }
        else
        {
            NSLog(@"Inch value not found");
        }
    
    }
    else
    {
        NSLog(@"Empty String");
    }
    

    【讨论】:

      【解决方案3】:

      有很多方法可以做到这一点。但是,在您的情况下,这是最简单的方法,因此请在空格处分隔字符串:

      NSString *string = @"6ft 7inch";
      NSArray *components = [string componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceCharacterSet];
      

      【讨论】:

        猜你喜欢
        • 2012-03-03
        • 2011-11-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-11-20
        • 2017-09-24
        • 2012-10-24
        相关资源
        最近更新 更多