我有这三个字符串:
YELLOW,SMALL,STRETCH,成人,T21fdsfdsfs
黄,小,拉伸,成人,Tdsfs
YELLOW,SMALL,STRETCH,成人,TD
我想删除包含逗号的最后一个,
之后的所有内容。所以我想删除这些部分,T21fdsfdsfs
,,Tdsfs
和TD
。我怎么能用Python做到这一点?
答案 0 :(得分:6)
你做不到。使用您要保留的部分创建一个新字符串。
','.join(s.split(',')[:4])
答案 1 :(得分:5)
s.rsplit(',', 1)[0]
无论如何,我建议你看一下Ignacio Vazquez-Abrams's answer,这对你的问题更有意义。
答案 2 :(得分:3)
应该有一个 - 最好只有一个 - 显而易见的方法。
...所以这是第三个,它使用rpartition
:
>>> for item in catalogue:
... print item.rpartition(',')[0]
...
YELLOW,SMALL,STRETCH,ADULT
YELLOW,SMALL,STRETCH,ADULT
YELLOW,SMALL,STRETCH,ADULT
我没有将其表现与前两个答案进行比较。
答案 3 :(得分:0)
如果您引用string
元素,则可以使用
str.rsplit()
分隔每个字符串,将maxsplit
设置为1。
str.rsplit([sep[, maxsplit]])
使用sep作为分隔符字符串,返回字符串中的单词列表。如果给出maxsplit,则最多完成maxsplit分割,最右边的分割。如果未指定sep或None,则任何空格字符串都是分隔符。除了从右边分割之外,rsplit()的行为类似于split(),下面将详细介绍。
>>> lst = "YELLOW,SMALL,STRETCH,ADULT,T"
>>> lst.rsplit(',',1)[0]
'YELLOW,SMALL,STRETCH,ADULT'
>>>