Java全角字符串轉換為半角字符串

c6g3 9年前發布 | 3K 次閱讀 Java

如下是用正則表達式實現的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();

}</pre>

單元測試代碼如下:

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

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

    assertEquals(expected, actual);
}</pre> 


 本文由用戶 c6g3 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!