中文汉字转拼音——大写(默认),小写,首字母大写

...好吧先上效果图~

 

 

 

主要代码:

public class MainActivity extends Activity {

	private TextView tv_test;
	String str = "你好世界";
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		tv_test = (TextView) findViewById(R.id.tv_test);
		ArrayList<Token> arrayList = HanziToPinyin.getInstance().get(str);
		String string = arrayList.toString();
		Log.e("", ""+string);
		String pinyin = "";
		if (arrayList != null && arrayList.size() > 0) {
			for (Token token : arrayList) {
				if (Token.PINYIN == token.type) {
					//pinyin
					String str = token.target;
					int length = str.length();
					if(length>=1){
						//首字母大写其余字母小写
						String first = str.substring(0, 1);
						String substring = str.substring(1, length);
						String lowerCase = substring.toLowerCase();
						pinyin += first+lowerCase;
						Log.e("pinyin", pinyin);
					} 
				} else {
					//未知语 or 拉丁语
				}
			}
		}
		String pinYin2 = getPinYin(str);
		tv_test.setText(pinyin+"\n"+pinYin2);
	}

	// 汉字返回拼音,字母原样返回,都转换为小写(默认取得的拼音全大写)
	public static String getPinYin(String input) {
		ArrayList<Token> tokens = HanziToPinyin.getInstance().get(input);
		StringBuilder sb = new StringBuilder();
		if (tokens != null && tokens.size() > 0) {
			for (Token token : tokens) {
				if (Token.PINYIN == token.type) {
					sb.append(token.target);
				} else {
					sb.append(token.source);
				}
			}
		}
		return sb.toString().toLowerCase();//toLowerCase() 大写变小写
	}
}



重点在拿到ArrayList<Token>的列表数据之后的循环,在里面操作即可~

 

 

好像就这么简单额.....................注释也挺直白的...嗯,上demo吧还是...

 

中文汉字转拼音

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值