【python初级】 去除字符串首尾的空格(其实是“\x00“)

【python初级】 去除字符串首尾的"\x00"字符

1.总结

开门见山:使用str.strip(’\x00’)方法,形如:

'MV-CE013-50GM\x00\x00'.strip('\x00')

2.背景

在使用PySide2写界面的时候,之前一直OK的tableWidget.item控件,今天不好用了,报了如下错误:
在这里插入图片描述
即嵌入的空字符的错误。
打印传值的device_type如下:

print("#device_type=%s#"%device_type)
print("#device_type.strip()=%s#"%device_type.strip())
print(type(device_type))

运行结果:

#device_type=MV-CE013-50GM                   #
#device_type.strip()=MV-CE013-50GM                   #
<class 'str'>

我们都知道使用str字符串有strip()方法可以去掉左右的空格。but not work now!
由于device_type这个数据来源camera_info字典:

device_type = camera_info['device type name']
print("camera_info=",camera_info)

运行结果:

camera_info= {'device type name': 'MV-CE013-50GM\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'}

原来我们要去除的是"\x00"字符。

3.代码

字符串中去除首尾的"\x00"字符,代码如下:

__author__="jn10010537"
camera_info= {'device type name': 'MV-CE013-50GM\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'}
print("1-camera_info=",camera_info)
print("2-#%s#"%camera_info['device type name'])
print("3-#%s#"%camera_info['device type name'].strip(" "))
#解决办法:
print("4-#%s#"%camera_info['device type name'].strip(b'\x00'.decode()))
print("5-#%s#"%camera_info['device type name'].strip('\x00'))

运行结果:
在这里插入图片描述

4.扩展

4.1 C语言的字符与字符串
与Python不同,C语言有基本类型字符char,而没有字符串类型。
C语言中’a’和”a”的区别:C的字符串中以字符’\0’(’\x00’) 作为结束标志,’\0’是一个ASCII码为0的字符,它不会引起任何控制动作,也不是一个可显示的字符。

字符串’a’实际包含2个字符:’a’和’\0’(’\x00’)

4.2 Python的’\x00’与空串”的区别
Python不支持单字符类型,单字符也在Python也是作为一个字符串使用。python字符串其实是一个固定长度的字符数组,所以不用结束标志了。修改字符串其实是另外生成一个新的。

参考:
https://blog.csdn.net/u012206617/article/details/100977067

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Python中,可以使用strip()方法来去除字符串首尾空格。该方法会同时去除字符串开头和结尾的空格。例如,如果有一个字符串name = " Sheep Core ",可以使用name.strip()来去除首尾空格,结果为'Sheep Core'。\[1\] 如果想要去除字符串中间的空格,可以使用replace()方法来替换空格为其他字符。例如,可以使用name.replace(" ", "")来将字符串中的空格替换为空字符,从而去除所有空格。\[1\] 另外,如果需要自定义去除字符串首尾空格的函数,可以使用遍历字符串的方式来实现。可以先正序遍历字符串去除首部的空格,然后再逆序遍历字符串去除尾部的空格。具体的实现代码可以参考引用\[3\]中的示例代码。\[3\] 综上所述,Python提供了多种方法来去除字符串首尾空格,包括使用strip()方法、replace()方法以及自定义函数。 #### 引用[.reference_title] - *1* [python 去掉字符串首尾空格](https://blog.csdn.net/u014651560/article/details/128410404)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [python去除字符串首尾空白符的实现](https://blog.csdn.net/qq_43594913/article/details/125764014)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jn10010537

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值