替换Unicode字符串中的换行符
我正在尝试在一个unicode字符串中替换换行符,但似乎缺少了一些神奇的代码。
我的具体例子是,我在使用AppEngine,并试图把HTML页面中的标题放入我的模型中的一个db.StringProperty()
里。
所以我做了类似这样的操作:
link.title = unicode(page_title,"utf-8").replace('\n','').replace('\r','')
然后我得到了:
Property title is not multi-line
我还应该使用其他代码来进行替换吗?
3 个回答
0
打印出页面标题的 repr()
(表示形式)会很有用,因为它看起来是多行的,但明显的选择是 '\r'
。
12
Python在使用unicode.splitlines()
这个功能时,会用到以下这些字符来分割文本:
- U+000A 换行符 (\n)
- U+000D 回车符 (\r)
- U+001C 文件分隔符
- U+001D 组分隔符
- U+001E 记录分隔符
- U+0085 下一行
- U+2028 行分隔符
- U+2029 段落分隔符
正如Hank所说,使用splitlines()
可以让Python帮你处理所有的细节,但如果你想手动处理的话,这就是完整的字符列表。
23
试试这个代码:''.join(unicode(page_title, 'utf-8').splitlines())
。这里的splitlines()
方法可以帮助你处理各种复杂的Unicode换行符,然后你只需要用空字符串把它们重新连接起来,就能得到一行的内容。