如何通过匹配python中的某些字符从字符串中删除一些字符

时间:2012-09-28 08:59:36

标签: python

我正在尝试删除字符串的某些部分,如果在字符串中找到匹配项,如下所示

string = 'Newyork, NY'

如果字符串中存在逗号

,我想删除包含comma的字符串中逗号后面的所有字符

现在有人能告诉我怎么做。

4 个答案:

答案 0 :(得分:7)

使用.split()

string = string.split(',', 1)[0]

我们将字符串拆分为逗号一次,以便为python保存更多逗号分割的工作。

或者,您可以使用.partition()

string = string.partition(',')[0]

演示:

>>> 'Newyork, NY'.split(',', 1)[0]
'Newyork'
>>> 'Newyork, NY'.partition(',')[0]
'Newyork'

.partition()是更快的方法:

>>> import timeit
>>> timeit.timeit("'one, two'.split(',', 1)[0]")
0.52929401397705078
>>> timeit.timeit("'one, two'.partition(',')[0]")
0.26499605178833008

答案 1 :(得分:1)

您可以split使用分隔符","的字符串:

string.split(",")[0]

示例:

'Newyork, NY'.split(",") # ['Newyork', ' NY']
'Newyork, NY'.split(",")[0] # 'Newyork'

答案 2 :(得分:1)

试试这个:

s = "this, is"
m = s.index(',')
l = s[:m]

答案 3 :(得分:0)

一个fwe选项:

  • string[:string.index(",")]

    如果在字符串中找不到ValueError,则会引发,。在这里,我们找到带有.index的角色的位置,然后使用切片。

  • string.split(",")[0]

    split函数将为您提供由,分隔的子字符串列表,您只需获取列表的第一个元素即可。即使字符串中不存在,,这也会有效(因为在这种情况下没有什么可以拆分,我们有string.split(...) == [string]