Python删除字符串

时间:2010-12-05 05:17:56

标签: python

我有这三个字符串:

  

YELLOW,SMALL,STRETCH,成人,T21fdsfdsfs
  黄,小,拉伸,成人,Tdsfs
  YELLOW,SMALL,STRETCH,成人,TD

我想删除包含逗号的最后一个,之后的所有内容。所以我想删除这些部分,T21fdsfdsfs,TdsfsTD。我怎么能用Python做到这一点?

4 个答案:

答案 0 :(得分:6)

你做不到。使用您要保留的部分创建一个新字符串。

','.join(s.split(',')[:4])

答案 1 :(得分:5)

s.rsplit(',', 1)[0]

无论如何,我建议你看一下Ignacio Vazquez-Abrams's answer,这对你的问题更有意义。

答案 2 :(得分:3)

根据The Zen of Python

  

应该有一个 - 最好只有一个 - 显而易见的方法。

...所以这是第三个,它使用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'
>>>