以下のように文字列に一致が見つかった場合、文字列の特定の部分を削除しようとしています
string = 'Newyork, NY'
comma
文字列にコンマが存在する場合、を含む文字列からコンマ以降のすべての文字を削除したい
誰でもこれを行う方法を教えてもらえますか。
以下のように文字列に一致が見つかった場合、文字列の特定の部分を削除しようとしています
string = 'Newyork, NY'
comma
文字列にコンマが存在する場合、を含む文字列からコンマ以降のすべての文字を削除したい
誰でもこれを行う方法を教えてもらえますか。
使用.split()
:
string = string.split(',', 1)[0]
コンマで文字列を1 回分割して、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
区切り文字を使用して文字列を分割できます","
。
string.split(",")[0]
例:
'Newyork, NY'.split(",") # ['Newyork', ' NY']
'Newyork, NY'.split(",")[0] # 'Newyork'
いくつかのオプション:
string[:string.index(",")]
これにより、文字列に見つからないValueError
場合が発生します。,
ここでは、.index
スライスを使用して文字の位置を見つけます。
string.split(",")[0]
このsplit
関数は、 で区切られた部分文字列のリストを提供し、リスト,
の最初の要素を取得するだけです。これは,
、文字列に が存在しなくても機能します (その場合、分割するものがないため、 となりますstring.split(...) == [string]
) 。