今天帮女朋友从网络上收集一些信息,但是发现提取出的信息中有“\xa0”,并且无法去掉,查阅了相关资料,后发现该字符表示空格。

\xa0 是不间断空白符  
我们通常所用的空格是 \x20 ,是在标准ASCII可见字符 0x20~0x7e 范围内。
而 \xa0 属于 latin1 (ISO/IEC_8859-1)中的扩展字符集字符,代表空白符nbsp(non-breaking space)。
latin1 字符集向下兼容 ASCII ( 0x20~0x7e )。通常我们见到的字符多数是 latin1 的,比如在 MySQL 数据库中。
有如下信息:

'T-shirt\xa0\xa0短袖圆领衫,体恤衫\xa0,', 'V-neck\xa0\xa0V型领\xa0sleeve\xa0\xa0袖子\xa0,',

我们如何将其中的\xz0去掉呢,试了re模块的sub方法,发现没有作用,于是又开始查阅相关资料,终于解决了该问题。方法如下:

>>> inputstring = u'\n                      Door:\xa0Novum          \t      '
>>> move = dict.fromkeys((ord(c) for c in u"\xa0\n\t"))
>>> output = inputstring.translate(move)
>>> output
'                      Door:Novum                '

另外还有一种更简单的方法,利用split方法:

'T-shirt\xa0\xa0短袖圆领衫,体恤衫\xa0' >>> out = "" . join (s.split()) 'T-shirt短袖圆领衫,体恤衫'

可以发现利用translate方法、split()可以完美解决,并且还可以替换\t \n字符,由此又学到了新知识!

关于ord函数:
ord()函数是chr()函数(对于8位的ASCII字符串)或unichr()函数(对于Unicode对象)的配对函数,它以一个字符(长度为1的字符串)作为参数,返回对应的ASCII数值,或者Unicode数值,如果所给的Unicode字符超出了你的Python定义范围,则会引发一个TypeError的异常。

关于fromkeys方法:
dict中的fromkeys方法目的是创建一个只有key的字典,内部利用for循环,使三个字符的asii码值成为可迭代对象(本来的整数是不可迭代的),分别对其迭代,存入字典。

关于translate方法:
Python translate() 方法根据参数table给出的表(包含 256 个字符)转换字符串的字符, 要过滤掉的字符放到 del 参数中。接收到move返回的表(字典),之后对字符串进行替换。

join()方法:
join(): 连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串。可见该处用join方法真的是神来之笔,可谓绝妙!

值得注意的是,split方法中不带参数时,表示分割所有换行符、制表符、空格。

今天帮女朋友从网络上收集一些信息,但是发现提取出的信息中有“\xa0”,并且无法去掉,查阅了相关资料,后发现该字符表示空格。\xa0 是不间断空白符   我们通常所用的空格是 \x20 ,是在标准ASCII可见字符 0x20~0x7e 范围内。 而 \xa0 属于 latin1 (ISO/IEC_8859-1)中的扩展字符集字符,代表空白符nbsp(non-breaking space
result = 'https://www.baidu.com\/heihei.com' result = result.replace("\\", '') print(result) 输出结果为 https://www.baidu.com/heihei.com # 从提取出的几列来看,还有些细节需要再洗洗:例如为了统计和美观需要,“\n”和“/”这两个符号应 去掉 。 lendhouse_content_split3 = lendhouse_content_split2.iloc[:,[0,16,24,42,70,94]] lendhouse_content_split3.columns=['location_name','area','direction','housetype','stair_type'
去掉 字符串 的\ xa0 、\t、\n: \ xa0 是不间断空白符   我们通常所用的空格是 \x20 ,是在标准ASCII可见字符 0x20~0x7e 范围内。而 \ xa0 属于 latin1 (ISO/IEC_8859-1) 的扩展字符集字符,代表空白符nbsp(non-breaking space)。 latin1 字符集向下兼容 ASCII ( 0x20~0x7e )。通...
在我转换CSV的表格数据的时候,我发现不能通过数据来转换位置,我看了一下,是有数据转换的错误,网上的又是不知道拷贝谁的,清一色是以为数据是FLOAT形式,简单转换一下就行了,结果还是坑爹的坑我啊,让我明白我要分析出到底错在哪,如果只是简单看看网上,那恐怕会一直不知所云了,然后我在找如何 去掉 \t的 时候,我又看到了一种大多数的解释,不出意外,还是不行,结果换了另一种方式解决,代码如下: #row=
最近做了一个项目,要用到用户点击添加,可以克隆input输入框;提交到后台需要转化为json类型的数据,然后存入数据库。 在网上也找了几个例子,但是都不是自己想要的效果。于是自己就和朋友一起研究了一个。很实用。。。 HTML块: <div class="layui-form-item"> <label class="layui-form-label...
Python ,可以使用 字符串 的 replace() 方法来删除 字符串 的反斜杠。例如: string = "hello\\world" string = string.replace("\\", "") print(string) # 输出 "helloworld"
\ xa0 是不间断空白符 &nbsp,自己做前端页面的时候也会经常用到这个符号。 通常我们所用的空格的ASCII码是 \x20 ,在标准ASCII可见字符 0x20~0x7e 范围内。而 \ xa0 属于 latin1 (ISO/IEC_8859-1) 的扩展字符集字符,代表空白符nbsp(non-breaking space)。latin1 字符集可向下兼容 ASCII ( 0x20~0x7e )。爬取到的内容包含\ xa0 字符内容也不影响实际使用。 爬取获取值时使用 字符串 的strip()方
刚学 Python 爬虫 ,爬取网页时,不可避免会遇到\ xa0 字符串 ,你会发现,正则re.sub(r’\ xa0 ’, ‘’)和 字符串 的replace都不管用。 \ xa0 是不间断空白符 &nbsp,自己做前端页面的时候也会经常用到这个符号。 通常我们所用的空格的ASCII码是 \x20 ,在标准ASCII可见字符 0x20~0x7e 范围内。 而 \ xa0 属于 latin1 (ISO/IEC_8859-1) 的扩展字符集字符,代表空白符nbsp(non-breaking space)。latin1 字符集
&gt;&gt;&gt;a=" hello world!! " &gt;&gt;&gt;a.lstrip() 'hello world!! ' &gt;&gt;&gt;a.rstrip() ' hello world!!' &gt;&g..