如何在Java中用空字符串替换'
Posted
技术标签:
【中文标题】如何在Java中用空字符串替换\'【英文标题】:How to replace ' with empty string in Java如何在Java中用空字符串替换' 【发布时间】:2014-07-23 18:59:54 【问题描述】:如何在 Java 中将单引号 ' 替换为空字符串。我尝试了以下但似乎没有工作。
String data="Sid's den";
data.replace("'", "");
data.replaceAll("'", "");
提前致谢。非常感谢任何帮助。(输出应为:Sids den)
感谢大家的回复。我想我应该更清楚我的问题。基本上我从表中获取特殊字符,并且我们必须从同一个表中替换它的值。这是代码的sn-p:
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"));
所以当我们在数据中有特殊字符 ' 时,我将面临空指针异常。请建议如何进行此操作?
【问题讨论】:
阅读doc。data.replace("'", "")
将返回新的String
(不更改当前),这在文档中说明:“返回:结果字符串”
@Sid 查看编辑后的答案。
【参考方案1】:
使用replace
,不需要正则表达式。
请记住String
s 是不可变的,因此您需要将data.replace("'", "");
分配给一个变量。
例如:data = data.replace("'", "");
【讨论】:
【参考方案2】:试试看:
"foo'bar'buz".replace("'", "")
输出:
"foobarbuz"
在你的情况下:
String data = "Sid's den";
String output = data.replace("'", "");
【讨论】:
【参考方案3】:试试:
data = data.replace ("'", "") ;
或
data = data.replaceAll("'", "") ;
您需要将替换后的字符串分配给一个变量。
【讨论】:
【参考方案4】:字符串是不可变的,因此您将收到一个新实例。试试
data = data.replace("'", "");
您的编辑
检查getString()
的返回值 - 您可以获得NPE
,因为您的数据库表在spl_char
或replace_with
列之一中包含null
值。
【讨论】:
【参考方案5】:我可以看到您的问题,如果您需要替换它,则需要替换它并且还需要将其分配回变量。解决办法应该是,
String data="Sid's den";
data = data.replaceAll("'", "");
System.out.println(data);
因为 String 在 java 中是不可变的。但是StringBuffer和StringBuilder在java中是可变的。
String
StringBuffer
StringBuilder
【讨论】:
以上是关于如何在Java中用空字符串替换'的主要内容,如果未能解决你的问题,请参考以下文章