如何用Java替换’空字符串’

如何在Java中用空字符串替换单引号’。 我试过以下但似乎没有工作。

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

提前致谢。 非常感谢任何帮助。(输出应该是:Sids den)

谢谢你的回复。 我想我应该更清楚我的问题。 基本上我从表中获取特殊字符,并且我们必须从同一个表中替换它的值。 这是代码片段:

 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")); } } 

所以在数据中我们有特殊的字符’然后我面临nullpointerexception。 请建议如何继续这个?

字符串是不可变的,因此您将收到一个新实例。 尝试

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

你的编辑

检查getString()的返回值 – 您可以获取NPE因为数据库表在其中一列spl_charreplace_with中包含null值。

使用replace ,不需要正则表达式。

请记住, String是不可变的,因此您需要分配data.replace("'", ""); 变量。

例如: data = data.replace("'", "");

我可以看到你的问题,如果你需要更换它,你需要更换它,还需要将它分配回变量。 解决方案应该是,

  String data="Sid's den"; data = data.replaceAll("'", ""); System.out.println(data); 

因为String在java中是不可变的。 但是StringBuffer和StringBuilder在java中是可变的。

的StringBuffer

StringBuilder的

试试:

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

输出:

 "foobarbuz" 

在你的情况下:

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

尝试:

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

要么

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

您需要将替换的字符串分配给变量。