Python如何处理字符串中的特殊空格(非断行空格)和制表符、换行符?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1650个文字,预计阅读时间需要7分钟。
今天遇到一个问题,使用Python的find函数寻找字符串中的第一个空格时,没有找到正确的位置,例如:http://zc.whmc.edu.cn===无法访问的网站或无效的招标网站,使用find( + )函数寻找时,找到的是引号的位置。
今天遇到一个问题,使用python的find函数寻找字符串中的第一个空格时没有找到正确的位置,例如:
zc.whmc.edu.cn ==> 无法访问的网站或无效的招标网站
使用find(" ")函数寻找时找到的第一个空格对应在==>后面的那个位置。一开始觉得是编码问题,但是文件是用UTF-8编码的,按理说不应该产生编码问题,就用Sublime打开一看是这样的:
可以看到,我的Sublime设置了显示空白,所以第二个红线上方有一个白点,而第一个红线上方却没有,这说明第一个红线上方那个字符确实不是一个空格,也就是说函数的运行没有问题。但那个空格倒底是个什么东西呢?在Sublime中File-->Reopen with Encoding-->Hexadecimal打开文件可以看到是这样的:
在网上可以查到,==>对应的UTF-8编码是\x3d\x3d\x3e,所以前面的那个神秘字符的编码就是\xc2\xa0,上网查到这是一个叫做Non-breaking space的东西,用于阻止在此处自动换行和阻止多个空格被压缩成一个。至于解决方法,先用subplace("\xc2\xa0", " ")把这个特殊的空格替换一下就行了。
本文共计1650个文字,预计阅读时间需要7分钟。
今天遇到一个问题,使用Python的find函数寻找字符串中的第一个空格时,没有找到正确的位置,例如:http://zc.whmc.edu.cn===无法访问的网站或无效的招标网站,使用find( + )函数寻找时,找到的是引号的位置。
今天遇到一个问题,使用python的find函数寻找字符串中的第一个空格时没有找到正确的位置,例如:
zc.whmc.edu.cn ==> 无法访问的网站或无效的招标网站
使用find(" ")函数寻找时找到的第一个空格对应在==>后面的那个位置。一开始觉得是编码问题,但是文件是用UTF-8编码的,按理说不应该产生编码问题,就用Sublime打开一看是这样的:
可以看到,我的Sublime设置了显示空白,所以第二个红线上方有一个白点,而第一个红线上方却没有,这说明第一个红线上方那个字符确实不是一个空格,也就是说函数的运行没有问题。但那个空格倒底是个什么东西呢?在Sublime中File-->Reopen with Encoding-->Hexadecimal打开文件可以看到是这样的:
在网上可以查到,==>对应的UTF-8编码是\x3d\x3d\x3e,所以前面的那个神秘字符的编码就是\xc2\xa0,上网查到这是一个叫做Non-breaking space的东西,用于阻止在此处自动换行和阻止多个空格被压缩成一个。至于解决方法,先用subplace("\xc2\xa0", " ")把这个特殊的空格替换一下就行了。

