关于Python中的textarea \r\n或\n
我在Ubuntu系统下的Firefox浏览器中测试了代码:
前端是一个文本区域,在文本区域按下ENTER键,然后提交到服务器,
在后端你会看到字符串\r\n
r=request.POST.get("t")
r.find("\r\n")>-1:
print "has \r\n"
我的问题是,什么时候会得到\r\n,什么时候会得到\n?这和平台有关系吗?
这很重要,因为我想用这个字符串作为正则表达式,欢迎任何建议
1 个回答
5
没错,你说得对,不同的平台对换行的处理方式是不同的:
- 在Windows系统中,换行通常用
\r\n
来表示。 - 在Linux、Unix和OS X系统中,换行一般用
\n
来表示。
同样,网页浏览器也倾向于使用这些规则:IE浏览器使用 \r\n
来换行,而Safari和Firefox则使用 \n
。
作为解决方案,可以考虑使用一些Python的函数,这些函数能够识别不同的换行编码,比如提供一种通用的换行支持。
举个例子,如果你想把一个字符串分成多行,可以使用splitlines:
lines = r.splitlines()