[英]How to replace ' with empty string in 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"));
}
}
因此,当数据中的evr有特殊字符'时,我将面临nullpointer异常。 请建议如何进行此操作?
使用replace
,不需要正则表达式。
请记住, String
是不可变的,因此您需要分配data.replace("'", "");
到一个变量。
例如: data = data.replace("'", "");
字符串是不可变的,因此您将收到一个新实例。 尝试
data = data.replace("'", "");
检查getString()
的返回值-因为数据库表在spl_char
或replace_with
列之一中包含null
值,所以可以获得NPE
。
我可以看到您的问题,如果您需要替换它,则需要替换它,还需要将其分配回该变量。 解决方法应该是
String data="Sid's den";
data = data.replaceAll("'", "");
System.out.println(data);
因为String在Java中是不可变的。 但是StringBuffer和StringBuilder在Java中是可变的。
只需尝试:
"foo'bar'buz".replace("'", "")
输出:
"foobarbuz"
在您的情况下:
String data = "Sid's den";
String output = data.replace("'", "");
尝试:
data = data.replace ("'", "") ;
要么
data = data.replaceAll("'", "") ;
您需要将替换后的字符串分配给变量。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.