Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode 如何检查NSString第一个值_Xcode_Nsstring - Fatal编程技术网

Xcode 如何检查NSString第一个值

Xcode 如何检查NSString第一个值,xcode,nsstring,Xcode,Nsstring,我有这样一个字符串NSString*mobile=@“09894598945”。 如何检查上面字符串的第一个字符是否为零?如注释hasPrefix中所述,这里最适合。但您也可以使用substringWithRange函数。还可以灵活地检查字符串的第n个字符: if([[mobile substringWithRange:NSMakeRange(0, 1)] isEqualToString:@"5"]) { // started with 5 } 编辑 如注释中所述,函数substring

我有这样一个字符串NSString*mobile=@“09894598945”。
如何检查上面字符串的第一个字符是否为零?

如注释
hasPrefix
中所述,这里最适合。但您也可以使用
substringWithRange
函数。还可以灵活地检查字符串的第n个字符:

if([[mobile substringWithRange:NSMakeRange(0, 1)] isEqualToString:@"5"])
{
   // started with 5
}
编辑

如注释中所述,函数
substringWithRange
不适用于注释中提到的代理项对。这是此功能的限制


请改用
hasPrefix

如注释
hasPrefix
所示,最适合此处。但您也可以使用
substringWithRange
函数。还可以灵活地检查字符串的第n个字符:

if([[mobile substringWithRange:NSMakeRange(0, 1)] isEqualToString:@"5"])
{
   // started with 5
}
NSString *mobile=@"09894598945";

    if ([mobile characterAtIndex:0] == '0')
    {
        NSLog(@"Yes it contain 0");
    }
编辑

如注释中所述,函数
substringWithRange
不适用于注释中提到的代理项对。这是此功能的限制

改用
hasPrefix

NSString *mobile=@"09894598945";

    if ([mobile characterAtIndex:0] == '0')
    {
        NSLog(@"Yes it contain 0");
    }

if ([mobile hasPrefix:@"0"])
    {
        NSLog(@"Yes it contain 0");
    }

if ([mobile hasPrefix:@"0"])
    {
        NSLog(@"Yes it contain 0");
    }

在文档中搜索5“会产生=>
[mobile hasPrefix:@“0”];
你说的“值”是什么意思?你是指字符还是转换的整数值?我更改了它。这是字符在文档中搜索5”会产生=>
[mobile hasPrefix:@“0”]你所说的“价值”是什么意思?您是指字符还是转换的整数值?我更改了它。它是字符。当字符串为空或以代理项对开头时,此选项不起作用。@NikolaiRuhe,有没有代理项对不起作用的示例?有没有:@“@NikolaiRuhe,同意!但我猜它也不能与
characterAtIndex
一起使用。只有
hasPrefix
似乎适合我。编辑了我的答案。
characterAtIndex:
实际上并不返回unicode字符(或者,用unicode术语来说,代码点),而是返回UTF-16代码片段。然而,在美国,这是同样的事情。在这方面,
characterAtIndex:
似乎可以按预期工作。当字符串为空或以代理项对开头时,这不起作用。@NikolaiRuhe,有没有代理项对不起作用的示例?有没有:@“@NikolaiRuhe,同意!但我猜它也不能与
characterAtIndex
一起使用。只有
hasPrefix
似乎适合我。编辑了我的答案。
characterAtIndex:
实际上并不返回unicode字符(或者,用unicode术语来说,代码点),而是返回UTF-16代码片段。然而,在美国,这是同样的事情。在这方面,
characterAtIndex:
似乎像预期的那样工作。@user2681789-您可以向上投票好友:)@user2681789-您可以向上投票好友:)