我有一個要求,在句子中所有單詞的第一個字母需要大寫。我通過下面的代碼iOS - 字符串大寫,後跟一個數字
myString = [myString capitalizedString];
實現這可是有這個問題。如果這個詞與如「32abc」數字開始,轉增後它更改爲「32Abc」。我需要它是「32abc」。
幫助將不勝感激。
我有一個要求,在句子中所有單詞的第一個字母需要大寫。我通過下面的代碼iOS - 字符串大寫,後跟一個數字
myString = [myString capitalizedString];
實現這可是有這個問題。如果這個詞與如「32abc」數字開始,轉增後它更改爲「32Abc」。我需要它是「32abc」。
幫助將不勝感激。
方法1
NSString *input = @"32abc";
/* get first char */
NSString *firstChar = [input substringToIndex:1];
/* remove any diacritic mark */
NSString *folded = [firstChar stringByFoldingWithOptions:NSDiacriticInsensitiveSearch locale:[NSLocale currentLocale]];
/* create the new string */
NSString *capitalisedSentence = [[folded uppercaseString] stringByAppendingString:[input substringFromIndex:1]];
方法2(優化)
NSString *input = @"32abc";
NSString *capitalisedSentence = [input stringByReplacingCharactersInRange:NSMakeRange(0,1)
withString:[[input substringToIndex:1] capitalizedString]];
試試這個:
myString = [myString stringByReplacingCharactersInRange:NSMakeRange(0,1) withString:[[myString substringToIndex:1] uppercaseString]];
,如果你有什麼@ 「32Abc」,你想讓它是@「32abc」還是@「32Abc」? –
如果它是@「32Abc」,它應該顯示爲@「32Abc」本身。 – bhoomi