我與可可工作在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