最近在處理檔案中遇到一些問題,比如:將檔案的中文名稱轉化為中文拼音,乙個兩個的話,手動去改還可以,但數量多了就很頭痛了,所以整理了這篇中文轉拼音的工具類。
pinyin4j
2.5.1
工具類**:
import net.sourceforge.pinyin4j.pinyinhelper;
import net.sourceforge.pinyin4j.format.hanyupinyincasetype;
import net.sourceforge.pinyin4j.format.hanyupinyinoutputformat;
import net.sourceforge.pinyin4j.format.hanyupinyintonetype;
import net.sourceforge.pinyin4j.format.hanyupinyinvchartype;
import net.sourceforge.pinyin4j.format.exception.badhanyupinyinoutputformatcombination;
/** * @author zhang
* @date 2023年12月29日
* @description: 中文漢字轉拼音
*/public class chinesetospell
/*** 獲取漢字串拼音首字母,英文本元不變
* @param chinese 漢字串
* @return 漢語拼音首字母
*/public static string getfirstspell(string chinese)
} catch (badhanyupinyinoutputformatcombination e)
} else
} return sb.tostring().replaceall("\\w", "").trim(); }
/*** 將字串中的中文轉化為拼音,其他字元不變
* @param inputstring
* @return 漢語拼音
*/public static string getpingyin(string inputstring) else
}} catch (badhanyupinyinoutputformatcombination e)
return output.tostring();
}/**
* 獲取漢字串拼音,英文本元不變 【首字母大寫】
* @param chinese 漢字串
* @return 漢語拼音
*/public static string getfullspell(string chinese) catch (badhanyupinyinoutputformatcombination e)
} else
} return sb.tostring();
} /**
* 將字串轉換成ascii碼
* @param cnstr
* @return string
*/public static string getcnascii(string cnstr)
return strbuf.tostring();
}/**
* 首字母大寫
* @param str
* @return
*/
public static string capitalize(string str)
string newstring = new string(ch);
return newstring; } }
測試結果:
相信大家也看到,這裡沒有處理到多音字;關於處理多音字的我還沒有整理;具體可參考部落格:
OC漢子轉拼音
oc中可以不使用第三方庫直接吧陣列轉成拼音 如下 nsstring str 中國abc人民共和國 cfstringref acfstring bridge cfstringref str 把oc的字串轉化為c的字串 cfmutablestringref string cfstringcreatemu...
java將漢字轉化為拼音
講解目錄 public static void main string args catch badhanyupinyinoutputformatcombination e author lt param parsestr 要被轉換的字串 支援繁體 非漢字去除 param params 要傳遞的非必...
C 之 中文轉化成拼音
include include include using namespace std char convertchineseunicodetopyt wchar t chrstr const char pystr 396 7 int chrasc 0 char pcreturnstring nul...