如何检查字符串是否以任何字母开头,如a-z或A-Z?

时间:2012-07-26 15:57:12

标签: objective-c nsstring

这是上下文

if (self.display.text hasPrefix:[NSString stringWithFormat:@"%@ = ", ANYLETTER])

谢谢Matt,我稍微改了一下,所以它仍然检查了我的其余格式,现在它按预期工作了。 :)

if ([self.display.text rangeOfString:@" = "].location == 1 && [[NSCharacterSet letterCharacterSet] characterIsMember:[self.display.text characterAtIndex:0]])

编辑:这只是检查第一个字符是否为字母

char character = [self.display.text characterAtIndex:0];
if ([[NSCharacterSet lowercaseLetterCharacterSet] characterIsMember:character] || [[NSCharacterSet uppercaseLetterCharacterSet] characterIsMember:character])
{
    //String Starts With a Letter
}

3 个答案:

答案 0 :(得分:4)

if ([[NSCharacterSet letterCharacterSet] characterIsMember:[self.display.text characterAtIndex:0]])
{
    // Starts with letter.
}

答案 1 :(得分:1)

这是一种方式:

unichar ch = [[[self display] text] characterAtIndex:0];
BOOL startsWithLetter = (ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z')

您也可以使用正则表达式库/方法进行检查,但上述内容非常简单快捷。

答案 2 :(得分:0)

您可以执行- (NSRange)rangeOfCharacterFromSet:(NSCharacterSet *)aSet NSString并传递[NSCharacterSet letterCharacterSet]并检查范围的位置是否为0.