java如何匹配中文标点符号啊

解决方案 »

  1.   

    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    public class Test3 { /**
     * @param args
     */
    public static void main(String[] args) {
    String s = ",12qwe?wq,wqe。qwe。wq?eq。we,qwe?qwsa,";
    Pattern p = Pattern.compile("[,?。]"); //将,替换成, 将。替换成. 将?替换成?
    Matcher m = p.matcher(s);
    StringBuffer sb = new StringBuffer();
    String str = null;
    while(m.find()) {
    str = m.group();
    if(str.equals(","))
    m.appendReplacement(sb, ",");
    else if (str.equals("。"))
    m.appendReplacement(sb, ".");
    else 
    m.appendReplacement(sb, "?");
    }
    m.appendTail(sb);
    System.out.println(s);
    System.out.println("替换后的结果为:");
    System.out.println(sb);
    }
    }
      

  2.   

    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    public class Test3 { /**
     * @param args
     */
    public static void main(String[] args) {
    String s = ",12qwe?wq,wqe。qwe。wq?eq。we,qwe?qwsa,";
    Pattern p = Pattern.compile("[,?。]"); //将,替换成, 将。替换成. 将?替换成?
    Matcher m = p.matcher(s);
    StringBuffer sb = new StringBuffer();
    String str = null;
    while(m.find()) {
    str = m.group();
    if(str.equals(","))
    m.appendReplacement(sb, ",");
    else if (str.equals("。"))
    m.appendReplacement(sb, ".");
    else 
    m.appendReplacement(sb, "?");
    }
    m.appendTail(sb);
    System.out.println(s);
    System.out.println("替换后的结果为:");
    System.out.println(sb);
    }
    }