例如如何将chapter1、chapter2……替换成第一章、第二章等?

如何使用正则表达式保留数字替换汉字

侃侃无极
浏览 710回答 1
1回答

江户川乱折腾

你这个不仅仅是正则的问题,还需要数字转中文。private static String[] number_zh = new String[]{"零","壹","贰","叁","肆","伍","陆","柒","捌","玖","拾"};private static String[] unit_zh = new String[]{"","拾","佰","仟","万","亿"};public static String shuzizhuanzhongwen(Long number){//number_zh unit_zhStringBuffer sb = new StringBuffer();String str = number.toString();Stack<String> _stack = new Stack<String>();for(int i = 0;i < str.length();i++){_stack.push(number_zh[(int) (number % 10)] );(int) (number % 10) + getUnitZH(Long.valueOf(i))number = number / 10;}while(!_stack.isEmpty()){sb.append(_stack.pop());}return sb.toString();}private static String getUnitZH(Long num){if(num >= 5 && num < 8){return getUnitZH(num - 4);}else if(num > 8){return getUnitZH(num - 8);}else if(num == 8){return unit_zh[5];}else if(num > 17){return null;}else{return unit_zh[num.intValue()];}}先截取chapter的字符串,然后将后面的数字截取,利用上面的方法转换,将转换完毕的字符串前面加"第",后面加"章"。
打开App,查看更多内容
随时随地看视频慕课网APP