正则表达式:字符串替换

Posted zhangjin1120

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式:字符串替换相关的知识,希望对你有一定的参考价值。

  • 将两个#之间的字符,替换成下划线加空格。
    private static void getUnderLine() {
        
        String str = "This is an #apple#. But I like #pears#.";
        Pattern regex = Pattern.compile("#.*?#");
        Matcher m = regex.matcher(str);

        StringBuffer resultString = new StringBuffer();
        while (m.find()) {
            String replacement = m.group(0).substring(1,m.group(0).length()-1).replaceAll(".", "_ ");
            m.appendReplacement(resultString, replacement);
        }
        m.appendTail(resultString);
        System.out.println(resultString.toString());
    }
  • 删除字符串中,非汉字部分。汉字的Unicode编码范围是:\\u4e00-\\u9fa5
    private static void deleteOtherChar() {
        String input = "神探狄仁&*%$杰之四大天王@bdfbdbdfdgds23532";
        String reg = "[^\\\\u4e00-\\\\u9fa5]";
        input = input.replaceAll(reg, "");
        System.out.println(input);   // 神探狄仁杰之四大天王
    }

参考:Java正则表达式之分组和替换

以上是关于正则表达式:字符串替换的主要内容,如果未能解决你的问题,请参考以下文章

JAVA正则表达式怎么匹配所有符合要求的子字符串

通过 Java 正则表达式提取 semver 版本字符串的片段

delphi 简单正则替换 问题

用正则表达式替换字符串

python 正则表达式

正则表达式,替换 指定范围内 的 特定字符串