gpt4 book ai didi

Python elif 无法按预期进行字符串查找

转载 作者:行者123 更新时间:2023-11-28 21:31:05 26 4
gpt4 key购买 nike

我想提取 Pandas 数据框中格式不一致的数据字段的位置。 (我不维护数据,因此无法更改此字段的格式。)

运行以下玩具版本

string2 = 'Denver.John'
if string2.find(' -'):
string2 = string2.split(' -')[0]
elif string2.find('.'):
string2 = string2.split('.')[0]
print(string2)

给我 Denver.John 而不是 Denver。但是,如果我使用 if 代替:

string2 = 'Denver.John'
if string2.find(' -'):
string2 = string2.split(' -')[0]
if string2.find('.'):
string2 = string2.split('.')[0]
print(string2)

如我所愿,我得到了丹佛。问题是我也有像 'Las.Vegas - Rudy' 这样的字符串,并且我希望能够在这些情况下提取 Las.Vegas,所以我只想在字段不包含连字符 (' - ')。

为什么 elif 对 Denver.John 不起作用?

最佳答案

因为find要么产生索引,要么产生-1,而-1有效!!!,所以尝试使用:

string2 = 'Denver.John'
if string2.find(' -') + 1:
string2 = string2.split(' -')[0]
elif string2.find('.') + 1:
string2 = string2.split('.')[0]
print(string2)

或者更好的是:

string2 = 'Denver.John'
if ' -' in string2:
string2 = string2.split(' -')[0]
elif '.' in string2:
string2 = string2.split('.')[0]
print(string2)

关于Python elif 无法按预期进行字符串查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58948516/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com