我正在尝试替换unicode字符串中的换行符,似乎缺少一些魔法代码。
我的具体例子是我正在使用AppEngine并尝试将HTML页面中的标题放入我模型中的db.StringProperty()
。
所以我做了类似的事情:
link.title = unicode(page_title,"utf-8").replace('\n','').replace('\r','')
我得到了:
Property title is not multi-line
我应该使用其他代码进行替换吗?
答案 0 :(得分:19)
试试''.join(unicode(page_title, 'utf-8').splitlines())
。 splitlines()
应该让标准库处理所有可能的疯狂Unicode换行符,然后你只需将它们与空字符串连接起来就可以获得单行版本。
答案 1 :(得分:8)
Python使用这些字符在unicode.splitlines()
中分割:
正如汉克所说,使用splitlines()
将让Python为您处理所有细节,但如果您需要手动完成,那么这应该是完整列表。
答案 2 :(得分:-1)
打印被视为多行的page_title的repr()
会很有用,但显而易见的候选人将是'\r'
。