问题描述
stringrstr="伍仟零陆拾捌万伍仟壹佰零拾贰元零角贰分”现在我想把数字和单位分两种字体对该字符串我该怎么处理
解决方案
解决方案二:
转成数组,遍历;根据index/2判断有余数是数字,没有余数是单位,重新拼接返回。
解决方案三:
stringstr="伍仟零陆拾捌万伍仟壹佰零拾贰元零角贰分";str=newSystem.Text.RegularExpressions.Regex("元|角|分").Replace(str,(match)=>{return"<spanstyle='...'>"+match.Value+"</span>";});
解决方案四:
笨办法:毕竟单位只有几个,万千百角分的转为数组,然后判断每个是否包含或者等于单位true就return一种字体,false就return另外一种字体
解决方案五:
慢了一步,我的意思和2楼一样
解决方案六:
stringstr="伍仟零陆拾捌万伍仟壹佰零拾贰元零角贰分";stringresult=string.Empty;str=newSystem.Text.RegularExpressions.Regex("[^元角分]+").Replace(str,(match)=>{return"<spanstyle='font-family:STHeiti'>"+match.Value+"</span>";});str=newSystem.Text.RegularExpressions.Regex("[元角分]").Replace(str,(match)=>{return"<spanstyle='font-family:MicrosoftYaHei'>"+match.Value+"</span>";});
解决方案七:
引用2楼WMMCY的回复:
stringstr="伍仟零陆拾捌万伍仟壹佰零拾贰元零角贰分";str=newSystem.Text.RegularExpressions.Regex("元|角|分").Replace(str,(match)=>{return"<spanstyle='...'>"+match.Value+"</span>";});
谢谢代码想问下如果该字符串是叁拾万零叁拾元,按照您的方法就不能区别两个拾哪个该改变样式了
解决方案八:
引用2楼WMMCY的回复:
stringstr="伍仟零陆拾捌万伍仟壹佰零拾贰元零角贰分";str=newSystem.Text.RegularExpressions.Regex("元|角|分").Replace(str,(match)=>{return"<spanstyle='...'>"+match.Value+"</span>";});
是叁拾万零叁拾五元
解决方案九:
还有没有人啊伍仟零陆拾捌万伍仟壹佰零拾贰元零角贰分这个万及后面的佰等算单位万左边部分的仟拾等不需要变样式再上面大神的基础上该怎么判断??
解决方案十:
还是用笨办法吧,两个数组string[]Array_DanWei={"亿","万","千",……},string[]Array_ShuZhi={"壹","贰","叁",……},然后对给定的字符串如:"伍仟零陆拾捌万伍仟壹佰零拾贰元零角贰分",逐字扫描,若在Array_DanWei里面,给一种格式,若在Array_ShuZhi里,给另一种格式