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