Java全角字符串转换为半角字符串

2018-07-20    来源:open-open

容器云强势上线!快速搭建集群,上万Linux镜像随意使用

如下是用正则表达式实现的java全角转半角代码片段:

import java.util.regex.*;

public static String replaceDBC2SBC(String input) {
    Pattern pattern = Pattern.compile("[\u3000\uff01-\uff5f]{1}");

    Matcher m = pattern.matcher(input);
    StringBuffer s = new StringBuffer();
    while (m.find()) {
        char c = m.group(0).charAt(0);
        char replacedChar = c == ' ' ? ' ' : (char) (c - 0xfee0);
        m.appendReplacement(s, String.valueOf(replacedChar));
    }

    m.appendTail(s);

    return s.toString();
}

单元测试代码如下:

    @Test
    public void testReplaceQuanjiao() {
        String text = "ab123w我们3jkjkdfdf444eeee";

        String expected = "ab123w我们3jkjkdfdf444eeee";
        String actual = replaceDBC2SBC(text);

        assertEquals(expected, actual);
    }

标签: 代码

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:Android中判断网络状态及其种类

下一篇:Android实用代码