iOS-漢字轉(zhuǎn)拼音(未完待續(xù))

Core Foundation包含文字轉(zhuǎn)拼音的相應(yīng)方法,而且還支持聲調(diào)。具體過(guò)程如下:

  • 首先假設(shè)有一段文字

    NSString *str = @"小敏";
    
  • 文字→帶聲調(diào)的拼音

    // 注意:以下操作必須先將不可變字符串轉(zhuǎn)化為可變字符串才能將漢字轉(zhuǎn)化成拼音
    // ??代碼可替換為:NSMutableString *strM = [str mutableCopy];
    NSMutableString *strM = [NSMutableString stringWithString:str];
    // 轉(zhuǎn)成帶聲調(diào)的拼音
    CFStringTransform((CFMutableStringRef)str, NULL, kCFStringTransformToLatin, false);
    

NSLog(@"%@", strM);
輸出結(jié)果:xiǎo mǐn
```

  • 文字→不帶聲調(diào)的拼音

    // 轉(zhuǎn)成不帶聲調(diào)的拼音
    CFStringTransform((CFMutableStringRef)strM, NULL, kCFStringTransformStripDiacritics, false);
    

NSLog(@"%@", strM);
輸出結(jié)果:xiao min
```

  • 轉(zhuǎn)換的拼音之間會(huì)有空格,可根據(jù)需要進(jìn)行刪除

    // 刪除拼音之間的空格
    NSString *resultStr = [strM stringByReplacingOccurrencesOfString:@" " withString:@""];
    

NSLog(@"%@", resultStr);
輸出結(jié)果:xiaomin
```

  • 獲取拼音首字母(大寫字母)

    // 獲取首字母并轉(zhuǎn)換為大寫字母
    NSString *firstLetter = [strM substringToIndex:1].uppercaseString;
    

NSLog(@"%@", firstLetter);
輸出結(jié)果:X
```

注意:這種轉(zhuǎn)換方式僅適用于性能要求不高的場(chǎng)景!自行決定是否使用!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 原文 在這里總結(jié)一些iOS開(kāi)發(fā)中的小技巧,能大大方便我們的開(kāi)發(fā),持續(xù)更新。 1.UITableView的Group...
    無(wú)灃閱讀 852評(píng)論 0 2
  • UITableView的Group樣式下頂部空白處理//分組列表頭部空白處理UIView *view = [[UI...
    阿茲爾閱讀 389評(píng)論 0 1
  • 1、截取字符串”20 | http://www.baidu.com”中,”|”字符前面和后面的數(shù)據(jù),分別輸出它們 ...
    強(qiáng)子ly閱讀 3,134評(píng)論 8 46
  • 提到我的出生,老媽常調(diào)侃說(shuō):“我和你爸沒(méi)打算生你,既然來(lái)到這個(gè)家了,就留下吧?!边@類的話,每每聽(tīng)到,總覺(jué)得我的...
    龍貓的綠葉傘閱讀 1,049評(píng)論 0 1

友情鏈接更多精彩內(nèi)容