2012-08-29 60 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注入。