使用java模式匹配删除单个字母单词

我想使用模式匹配从
Java中删除字符串中的所有单个字母单词.我的编码如下:

    String str = "P@";

    //remove single char words and extra white spaces
    inputStr = inputStr.replaceAll("\\b[\\w']{1}\\b", "").replaceAll("\\s+", " ").trim();

我期待输出为P @,因为输入不是单字母单词.但我得到输出为@因为它消除了P.所以基本上它只考虑字母字符匹配模式.而我想根据输入的字符串的长度进行匹配.

请帮忙.

最佳答案 试试这个:

        String data = "asd df R# $R $$$435 4ee 4";

    String replaceAll = data.replaceAll("(\\s.\\s)|(\\s.$)", " ");
    System.out.println(replaceAll);

输出为:asd df R#$R $$435 4ee

点赞