繁体   English   中英

删除字符串字符前的空白

[英]remove white space before a string character

我在删除角色前面的空白时遇到困难。 我正在尝试解析下面的示例字符串对象:

Mary Whitten: {laptop: 100, tv : 5, xbox: 50, }, James Doe: {laptop: 30, tv: 3,  xbox: 5,}, Jesus Navas: {laptop: 25, tv: 3, xbox: 5},Matt Mart:{laptop:10, xbox: 10}

在解析上述字符串时,我还使用了.split('},')。 我得到的钥匙:

d=['Mary Whitten', ' James Doe', ' Jesus Navas', 'Matt Mart']

我试图避免在'James Doe'和'Jesus Navas'前面有一些空格,因为密钥对空格敏感,即d ['James Doe']与['James Doe']不同,原因是键中的空白。 我要如何避免呢? 另外,我想使列表项不区分大小写,例如:

d=(items.lowercase() for items in d)

查看strip()lstrip()rstrip() 文档在这里

例如:

>>> 'Mary Whitten '.rstrip()
'Mary Whitten'
>>> ' James Doe'.lstrip()
'James Doe'
>>> ' Jesus Navas '.strip()
'Jesus Navas'

如果只希望删除某些字符(例如仅空格),则可.strip(" ") .*strip方法提供一个字符或可迭代的字符,例如.strip(" ")'.rstrip("\\?\\.\\!\\n")

为了您的目的,它看起来像

d = (items.lower().strip() for items in d)

您可以按照以下步骤简单地进行操作:

string.strip()

" Hello "上运行此脚本将得到"Hello"

对于您的代码,您可以按照以下步骤进行操作:

d = [item.strip() for item in d]

>>> d = (item.lower().strip() for item in d)
>>> print d
['mary whitten', 'james doe', 'jesus navas', 'matt mart']

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM