求正则表达式,要求:匹配所有的半角数字和英文字符,替换成全角数字和全角英文字符,先谢谢了

 我来答
非我即仙
2012-01-12 · TA获得超过568个赞
知道小有建树答主
回答量:303
采纳率:0%
帮助的人:401万
展开全部
正则表达式并不是处理此问题的最佳途径。
下面是一段根据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://baike.baidu.com/view/517185.htm

冠英韶D9
2012-01-13 · 超过16用户采纳过TA的回答
知道答主
回答量:55
采纳率:0%
帮助的人:73.4万
展开全部
你没说什么语言的,我写了个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>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式