a="aaaa#b:c:"
>>> for i in a.split(":"):
... print i
... if ("#" in i): //i=aaaa#b
... print only b
在循环,如果一个字符串,如果我= AAAA#B如何让我们使用的rsplit获得价值hash.should后的价值?拆分在python
a="aaaa#b:c:"
>>> for i in a.split(":"):
... print i
... if ("#" in i): //i=aaaa#b
... print only b
在循环,如果一个字符串,如果我= AAAA#B如何让我们使用的rsplit获得价值hash.should后的价值?拆分在python
>>> a="aaaa#b:c:"
>>> a.split(":",2)[0].split("#")[-1]
'b'
a = "aaaa#b:c:"
print(a.split(":")[0].split("#")[1])
我建议从:Python Docs
str.rsplit([SEP [,maxsplit]])
返回一个的字符串中的单词列表中,使用月作为分隔符 字符串。如果给出maxsplit,则最多可以执行maxsplit分割,最右边的分割是 。如果未指定sep或None,则任何空白字符串 都是分隔符。除了从右边划分之外,rsplit()的行为如同split(),这在下面详细描述。
所以回答你的问题是的。
编辑:
这要看你怎么想索引你的琴弦太,它看起来像RSTRING它与正确的,因此,如果您的数据始终是“最右”,你可以通过0(或1指数,不知道如何python索引),每次,而不是必须做返回的数组的大小检查。
split
会很好地完成这项工作。仅当您需要从最后一个'#'分割时才使用rsplit
。
a="aaaa#b:c:"
>>> for i in a.split(":"):
... print i
... b = i.split('#',1)
... if len(b)==2:
... print b[1]
你真的需要使用拆分吗?拆分创建一个列表,所以也不是那么高效...
怎么样这样的:
>>> a = "aaaa#b:c:"
>>> a[a.find('#') + 1]
'b'
,或者如果你需要特定的出现时使用正则表达式,而不是...
以下可以替代您的if
声明。
for i in a.split(':'):
print i.partition('#')[2]
这里假设'i'包含'#'。 'split('#',1)'并检查结果的长度会更安全。 – tKe 2010-10-12 12:34:54