2012-08-29 57 views
0

我有一个SQLite数据库,其中一些值包含换行符'\n'字符的字符串。我希望当从数据库中提取这个值时,放入StringTextViewsetText()被设置为String的值,换行符将工作,但不幸的是它不会。除了必须解析字符串并手动分解以外的其他任何选项?在TextView中添加换行符与数据库中的字符串

回答

1

如果你调试,你会看到该字符串实际上是“\\ r \\ n”或“\\ n”,即它被转义。所以,如果你按摩这个字符串,为了摆脱额外的\,你会得到你的解决方案。这是真的,尤其是如果你正在从数据库中读取。

1

将字符串放入数据库时​​将被转义。在将它放入TextView之前,可以尝试通过调用String s = unescape(stringFromDatabase)来避开字符串。


私人字符串UNESCAPE(字符串描述){ 返回description.replaceAll( “\\ N”, “\\ N”); }

请注意,在将数据插入数据库时​​,请确保您对来自用户的任何类型数据或未知可更改源使用DatabaseUtils.sqlEscapeString()。这将保护您免受错误和SQL注入。