Oracle翻译的Java等价物

Oracle翻译的Java等价物,java,string,oracle,equivalent,sql-function,Java,String,Oracle,Equivalent,Sql Function,java中是否有与oracle translate函数行为相同的等效字符串函数或库 在oracle中,我可以做到这一点: select translate( '23423k!(dfgd){sdf};', '(){}k!', '{}()' ) from dual; 要获得此信息: 23423{dfgd}(sdf); ori:23423k!(dfgd){sdf}; mod:23423(dfgd)(sdf); 但在java中,如果我这样做: String a="23423k!(

java中是否有与oracle translate函数行为相同的等效字符串函数或库

在oracle中,我可以做到这一点:

select translate(
 '23423k!(dfgd){sdf};',
 '(){}k!',
 '{}()'
 ) from dual;
要获得此信息:

23423{dfgd}(sdf);
ori:23423k!(dfgd){sdf}; 
mod:23423(dfgd)(sdf);
但在java中,如果我这样做:

    String a="23423k!(dfgd){sdf};";
    String b=a
        .replace("(", "{")
        .replace(")", "}")
        .replace("{", "(")
        .replace("}", ")")
        .replace("!", "")
        .replace("k", "")
        ;
    System.out.println("ori:"+a);
    System.out.println("mod:"+b);
我明白了:

23423{dfgd}(sdf);
ori:23423k!(dfgd){sdf}; 
mod:23423(dfgd)(sdf);

这是可行的,但不是正确的方法。看看如何使用String.replace()或StringBuffer类。

我将构建一个正则表达式来匹配字符串并捕获感兴趣的子字符串,然后使用字符串连接将适当的样板添加回中,该实用程序方法正好可以做到这一点

爪哇语说:

一次性替换字符串中的多个字符。此方法也可用于删除字符。搜索字符的长度通常应等于替换字符的长度。如果搜索字符较长,则会删除多余的搜索字符


看看String.replace()