【问题标题】:NSString Range how it works?NSString Range 它是如何工作的?
【发布时间】:2014-03-06 03:24:35
【问题描述】:

我只是在玩 Xcode,现在使用 Xcode 在另一个字符串中查找某个字符串。这里的问题是它没有显示我的期望。 (它显示“未找到匹配项!”) 请问有什么建议吗? 谢谢,

我的代码是:

int main(int argc, const char * argv[])
{

    @autoreleasepool {



        NSString *listOfNames = @"huhuWARDdsfadfadsfsadfafsfsadfafr";
        NSString *capListOfNames = [listOfNames capitalizedString];

        NSString *name = @"WaRd";
        NSString *capName = [name capitalizedString];



        NSRange match = [capListOfNames rangeOfString:capName];
        if (match.location == NSNotFound)
        {
            NSLog(@"No match faound!");
        }else{
            NSLog(@"Found!");
            NSLog(@"location : %d",(int)match.location);
            NSLog(@"length : %d",(int)match.length);


        }


    }
    return 0;
}

【问题讨论】:

    标签: objective-c nsstring nsrange


    【解决方案1】:

    capitalizedString 返回您的字符串,首字母大写,其余小写。

    capName = [name uppercaseString];重试

    目前,您正在寻找不包含 "Ward" 的字符串中的 "Ward"(尽管它确实包含 "WARD")。

    编辑:capitalizedString 使字符串中每个单词的首字母大写,其余小写。


    另外,您可以这样做:

    NSRange match = [capListOfNames rangeOfString:capName 
                                          options:NSCaseInsensitiveSearch];
    

    执行不区分大小写的搜索...

    【讨论】:

      【解决方案2】:

      capitalizedString 仅将第一个字母大写,使用uppercaseString 代替以达到您的预期。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-12-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-06-22
        • 2021-09-26
        • 2011-03-18
        • 2015-06-16
        相关资源
        最近更新 更多