我想使用 MySQL 数据库跟踪群聊中的单词使用情况。目前传递给 insertWords 方法的消息是一个 XML 字符串。XML 字符串可以包含特殊字符,例如'
和"
。有没有比使用 String.replace 将 XML 格式的字符串转换为普通消息更好的方法?
如果我的信息是:I'm bad, but they aren't that "good"
我怎样才能将其转换为:I'm bad, but they aren't that "good"
我的代码将插入 apos 2 次和 quot 2 次。我该如何解决?
Pattern p = Pattern.compile("[\\w']+");
PreparedStatement insertWordStmt = connection.prepareStatement("INSERT INTO word (word, count) VALUES (?, 1) " +
"ON DUPLICATE KEY UPDATE count=count+1");
public void insertWords(String msg) {
msg = msg.toLowerCase();
try {
Matcher m = p.matcher(msg);
while ( m.find() ) {
String word = msg.substring(m.start(), m.end());
insertWordStmt.setString(1, word);
insertWordStmt.executeUpdate();
}
} catch (SQLException e) {
e.printStackTrace();
}
}