求正则表达式,要求:匹配所有的半角数字和英文字符,替换成全角数字和全...
发布网友
发布时间:2022-05-07 19:54
我来回答
共2个回答
热心网友
时间:2022-04-25 06:01
正则表达式并不是处理此问题的最佳途径。
下面是一段根据utf编码表转换的示例代码:
public static String convertSBC2DBC(String s)
{
if(s==null||s.length()==0) return s;
StringBuilder sb=new StringBuilder(s);
final int offset=0xff00-0x20;
for(int i=0;i<sb.length();i++)
{
char val=sb.charAt(i);
if(val==0x3000) {
val=0x20;
continue;
}
if(isSBC(val)){
val-=offset;
sb.setCharAt(i, val);
}
}
return sb.toString();
}
public static boolean isSBC(char ch)
{
if(ch==0x3000) return true;//特殊处理空格
return ch>0xff00&&ch<0xff5f;
}
public static void main(String[] args) {
System.out.println(convertSBC2DBC("Abcdefgh12984 7"));
}
参考资料:http://ke.baidu.com/view/517185.htm
热心网友
时间:2022-04-25 07:19
你没说什么语言的,我写了个js的,你看看。
<script type="text/javascript" language="javascript" >
var a="2_14124--aAbBcCdDeEfghijklmnopqrstuvwxyz";
function toQuanjiao(s){
return s.replace(/[a-zA-Z0-9]/g,function(a){
return String.fromCharCode(a.charCodeAt(0)+65248);
});
}
alert(toQuanjiao(a));
</script>