在表名中插入特殊字符

时间:2016-09-06 10:53:13

标签: android android-sqlite

我有一个Android应用程序。当我创建一个新表时,如果我添加一个特殊字符,如!$,应用程序将崩溃。我创建了用_替换空格的功能,如下所示:

String name = name.getText().toString().replace(" ", "_");

// execute my insert query here

创建新表时,如何为空格以外的任何其他特殊字符执行相同的操作?这是可能的,如果是的话,怎么样?

2 个答案:

答案 0 :(得分:3)

使用此:

String name = "Table$Name";
name = name.replaceAll("\\W", "_");

答案 1 :(得分:3)

您可以使用Android中的内置函数转义字符串中的特殊字符。如下所示,

String name = DatabaseUtils.sqlEscapeString(name.getText().toString())