为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

侃侃无极 2022-05-07 14:10:07
如何使用正则表达式保留数字替换汉字
查看完整描述

1 回答

?
江户川乱折腾

TA贡献1851条经验 获得超5个赞

你这个不仅仅是正则的问题,还需要数字转中文。

private static String[] number_zh = new String[]{"零","壹","贰","叁","肆","伍","陆","柒","捌","玖","拾"};
private static String[] unit_zh = new String[]{"","拾","佰","仟","万","亿"};

public static String shuzizhuanzhongwen(Long number){
//number_zh unit_zh
StringBuffer 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的字符串,然后将后面的数字截取,利用上面的方法转换,将转换完毕的字符串前面加"第",后面加"章"。



查看完整回答
反对 回复 2022-05-10
  • 1 回答
  • 0 关注
  • 709 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号