2

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

string = 'Newyork, NY'

我想从字符串中删除逗号后的所有字符,包括comma,如果字符串中存在逗号

谁能让我现在如何做到这一点。

4

4 回答 4

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
于 2012-09-28T09:00:32.850 回答
1

您可以使用分隔符拆分字符串","

string.split(",")[0]

例子:

'Newyork, NY'.split(",") # ['Newyork', ' NY']
'Newyork, NY'.split(",")[0] # 'Newyork'
于 2012-09-28T09:00:37.590 回答
1

试试这个 :

s = "this, is"
m = s.index(',')
l = s[:m]
于 2013-09-20T18:50:21.430 回答
0

一些选项:

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

    这将引发一个ValueErrorif ,cannot be found in the string。.index在这里,我们使用切片找到字符的位置。

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

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

于 2012-09-28T09:11:16.883 回答