我正在尝试替换Unicode字符串中的换行符,但好像缺少一些神奇的代码。
我的具体示例是:我正在使用AppEngine,试图将HTML页面中的标题放入模型中的db.StringProperty()
中。
所以我做了这样的事情:
link.title = unicode(page_title,"utf-8").replace('\n','').replace('\r','')
我得到了:
Property title is not multi-line
是否还有其他代码可用于替换?
我正在尝试替换Unicode字符串中的换行符,但好像缺少一些神奇的代码。
我的具体示例是:我正在使用AppEngine,试图将HTML页面中的标题放入模型中的db.StringProperty()
中。
所以我做了这样的事情:
link.title = unicode(page_title,"utf-8").replace('\n','').replace('\r','')
我得到了:
Property title is not multi-line
是否还有其他代码可用于替换?
尝试使用''.join(unicode(page_title, 'utf-8').splitlines())
的方法。splitlines()
函数可以让标准库来处理所有可能出现的疯狂Unicode换行符,并且你只需要使用空字符串将它们全部连接起来,即可得到单行版本。
在unicode.splitlines()
函数中,Python使用以下字符来进行拆分:
正如Hank所说,使用splitlines()
函数可以让Python自动处理所有细节,但如果您需要手动操作,那么这应该是完整的列表。
splitlines()
已经为我完成了它。 - Jackson Millersplitlines()
是正确的答案;这只是为了万无一失,以防你真的需要列表。 - Ian Clelland打印多行的page_title
的repr()
会很有用,但显然的候选者是'\r'
。
page_title
的repr()
并查看其中包含哪些特殊字符。 - Thomas Wouters