这是上下文
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
}
答案 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.