删除字符串前的空格

时间:2014-03-25 14:58:35

标签: python regex dictionary

我无法移除角色前面的空白区域。我正在尝试解析下面的示例字符串对象:

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']

前面有一些空白区域。詹姆斯·多伊'和'耶稣纳瓦斯'我试图避免,因为键对白色空格敏感,即d [' James Doe']与['詹姆斯·多伊因为钥匙中的白色空间。我该如何避免呢?此外,我想使列表项不区分大小写,如:

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

2 个答案:

答案 0 :(得分:2)

查看strip()lstrip()rstrip()Docs here

例如:

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

如果您只想剥离某些字符(例如只有空格),则可以为.*strip方法提供字符或可迭代的字符,例如.strip(" ")'.rstrip("\?\.\!\n")

出于您的目的,它看起来像

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

答案 1 :(得分:0)

您可以按照以下方式执行此操作:

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']