我如何检查我的特定字符串是否有一般标点符号?以及如何从字符串中删除它?

时间:2014-05-26 08:07:17

标签: java regex punctuation

public static void main(String args[]) {
    final StringBuilder builder = new StringBuilder();
    String input = "Autism: 'Weak “Central Coherence” in: II. Real-life and MMag. ? ? ? ö ü ä André Gazsó";
    final Pattern specialCharsForFieldContent = Pattern.compile("([-+\"!(){}\\[\\]^\\~\\: \\\\]|\\|\\||&&)");
    for (char c : input.toCharArray()) {
        Matcher m = specialCharsForFieldContent.matcher(input);
        if (Character.isLetterOrDigit(c) || m.find()) {
            builder.append(Character.isLowerCase(c) ? c : c);
        }
    }
    System.out.println(builder.toString());
}
在中央之前有标点符号,而不是双引号。我想删除它。

请参阅以下链接:

http://www.charbase.com/block/general-punctuation用于缩影。

1 个答案:

答案 0 :(得分:0)

试试这个:

String words = input.replaceAll("[^a-zA-Z ]", "");