全角转半角笔记

问题描述:

今天遇到了一篇文章里面有全角和半角,但是我这边的解析器对于全角的双引号和全角的单引号的解析是乱码,就需要转成半角下的双引号和单引号,然后自己google了好多,前几页的推荐的方法都使用了,但是没有发现一个能实现这个功能的,就自己搞了下,(PS:虽然单句是可以转成功的,但是对于txt文件里面的,还是转成了乱码,原因还在查找),特此记录一下,希望能够帮助其他遇到问题的人。

方法一

/**
     * 全角转半角
     *
     * @param result 需要转换的字符串(内容)
     * @return 转换得到结果
     */
    public static String qjToBj(String result) {
        char[] chars = result.toCharArray();
        for (int i = 0; i < chars.length; i++) {
            System.out.println(chars[i] + "   " + (int) (chars[i]));
            if (chars[i] == 12288) {
                chars[i] = ' ';
            } else if (chars[i] == 8221) { //  ” --->  8221
                chars[i] = (char) (chars[i] - 8187);
            } else if (chars[i] == 8220) {  //  “ --->  8220    " ---> 34
                chars[i] = (char) (chars[i] - 8186);
            } else if (chars[i] == 8217) {  //  ’ --->  8217  ' --->  39
                chars[i] = (char) (chars[i] - 8178);
            } else if (chars[i] == 8216) {  //  ‘ --->  8216
                chars[i] = (char) (chars[i] - 8177);
            } else if (65281 <= chars[i] && chars[i] <= 65374) {
                chars[i] = (char) (chars[i] - 65248);
            } else {
                chars[i] = chars[i];
            }
        }
        return new String(chars);
    }

结果图:

方法二

        str = str.replaceAll("“|”", "\"");  //替换所有全角双引号
        str = str.replaceAll("‘|’", "'");  //替换所有全角单引号

结果图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值