我正在尝试删除字符串的某些部分,如果在字符串中找到匹配项,如下所示
string = 'Newyork, NY'
如果字符串中存在逗号
,我想删除包含comma
的字符串中逗号后面的所有字符
现在有人能告诉我怎么做。
答案 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]
)