我与可可工作在iPhone和我正在寻找像一些方法开始:如何检查,如果我的字符串以大写字母
NSString *s = @"Hello";
[s isStringStartsWithUpperCaseCharacter]
-(BOOL) isStringStartsWithUpperCaseCharacter;
字符串的第一个字母可以是非ASCII字母像:Á
,Ç
,Ê
...
有什么方法可以帮助我吗?
我在文档中看到有一些方法可以将字符串转换为大写和小写,但是没有方法可以询问字符串是否为lowercase
或uppercase
。
在Unicode中,字母可以属于不同的类别,例如“小写”,“大写”或“首字母大写”。大写(LIKE THIS)和Titlecase(Like This)之间的区别很重要,因为有些语言对某些字母使用不同的形式。根据该文件,'+ capitalizedLetterCharacterSet'包含首字母大写类,而'+ uppercaseLetterCharacterSet'包含大写字母和字母大写。所以后者是前者的超集(两者之间的差异可能很小)。OP必须决定哪一个是合适的。 (来源:http://unicode.org/reports/tr21/tr21-3.html) – 2009-11-05 13:09:57
更正:两者之间的差异是巨大的。我只写了一个小测试程序来检查。 '+ capitalizedCharacterSet'只包含这31个(模糊)字符:DžLjNjDzᾈᾉᾊᾋᾌᾍᾎᾏᾘᾙᾚᾛᾜᾝᾞᾟᾨᾩᾪᾫᾬᾭᾮᾯᾼῌῼ(我希望这些显示正确) 而+ uppercaseLetterCharacterSet包含968个不同语言的字符,包括大写拉丁字母。所以这是一套使用。 – 2009-11-05 13:33:37
我应该添加我检查了0和UINT16_MAX之间的所有字符,所以上面的数字不包括UTF-32字符。 – 2009-11-05 13:40:03