我已经尝试过搜索这个,但后来我不知道该如何描述它。
我有一个方法可以将一些来自hashmap的数据格式化为mySQL表:
private String valuesList() {
String valuesList = "";
HashMap<String,String> data = getData();
for(Map.Entry<String, String> entry : data.entrySet()) {
String value=entry.getValue();
valuesList+="'"+value+"',";
}
valuesList = valuesList.substring(0, valuesList.length() - 1);
return valuesList;
}
大多数时候工作正常,但在某些情况下,其中一个值有一个撇号,这会产生如下输出:
'4577314','18-02-2017','null','4566974','null','Overseas Domestic Workers' Rights Bill','1124','null'
请注意“海外家庭工人”#39;权利法案&#39;最后一点。我认为通过改变
很容易解决valuesList+="'"+entry.getValue()+"',";
到
valuesList+="'"+entry.getValue().replace("'","")+"',";
但该方法现在在该行抛出空指针异常。事实上,.trim()
等字符串的任何类型的更改都会相同,抛出null
。
我现在完全难过了
答案 0 :(得分:-1)
你可以像这样从
中删除引号value = value.replaceAll("'","''");