How to replace ' with empty string in Java

梦想的初衷 提交于 2019-12-20 05:16:23

问题


How can I replace single quote ' with empty string in Java. I tried following but doesn't seem to be working.

String data="Sid's den";
data.replace("'", "");
data.replaceAll("'", "");

Thanks in advance. Any help is much appreciated.(Output should be: Sids den)

Thanks guys for your responses. I guess I should have been more clear about my question. Basically I am getting special characters from the table and with what value we have to replace that also from the same table. Here is snippet of the code:

query = "select spl_char, replace_with from entcon_splchars";
ptsmt = DBConnector.sqlConnection.prepareStatement(query);
rs = ptsmt.executeQuery();

while (rs.next()) {
        if(data.contains(rs.getString("spl_char"))){
          data = data.replace(rs.getString("spl_char"),rs.getString("replace_with"));
            }
         }

so whenevr in the data we have special character ' then I am facing nullpointer exception. Please suggest how to go ahead with this?


回答1:


Strings are immutable so you'll receive a new instance. Try

 data = data.replace("'", "");

Your Edit

Check the return values of getString() - you could get your NPE because your database table contains null values in one of the columns spl_char or replace_with.




回答2:


Use replace, no need for regex.

Remember that Strings are immutable, so you need to assign data.replace("'", ""); to a variable.

For instance: data = data.replace("'", "");




回答3:


I can see your problem, If you need to replace it you need to replace it and also need to assign it back to the variable. Solution should be,

        String data="Sid's den";

        data = data.replaceAll("'", "");

        System.out.println(data);

Because String is immutable in java. But StringBuffer and StringBuilder is mutable in java.

String

StringBuffer

StringBuilder




回答4:


Just try with:

"foo'bar'buz".replace("'", "")

Output:

"foobarbuz"

In your case:

String data = "Sid's den";
String output = data.replace("'", "");



回答5:


Try:

data = data.replace ("'", "") ;

OR

data = data.replaceAll("'", "") ;

You would need to assign the replaced string to a variable.



来源:https://stackoverflow.com/questions/24015213/how-to-replace-with-empty-string-in-java

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!