【问题标题】:Replace text between two symbol Sing through regex [closed]通过正则表达式替换两个符号之间的文本 Sing [关闭]
【发布时间】:2017-09-20 10:29:12
【问题描述】:

我不擅长正则表达式并试图实现以下场景

String s="Example$for$string%is%notworking";

现在我需要将符号符号之间的字符串替换为其他字符串

Examplewithstringarenotworking

我正在使用

s=s.replaceall("\\$(.*?)\\%", "bird");

但上面的表达式没有发生任何变化

【问题讨论】:

    标签: java regex


    【解决方案1】:

    试试下面的代码:

     String s="Example$for$string%is%notworking";
     s.replaceAll("[$&+,:;=?@#|'<>.^*()%!-]", "otherstring")
    

    但在上述方法中,我们没有考虑许多特殊字符,例如一些 DOS 表情符号,如 little anglewhite smily face

    所以可能需要尝试一些相反的事情。哪些是您要保留的字符。如下所示,我将 A-Z、a-z 和 0-9 取如下:

    s.replaceAll("[^A-Za-z0-9]", "otherstring")
    

    【讨论】:

    • 它不会替换两个符号之间的文本值,而是将新字符串附加到符号位置
    猜你喜欢
    • 1970-01-01
    • 2020-08-02
    • 1970-01-01
    • 2021-06-23
    • 1970-01-01
    • 1970-01-01
    • 2020-06-11
    • 2021-03-29
    • 2016-07-21
    相关资源
    最近更新 更多