2

以下のように文字列に一致が見つかった場合、文字列の特定の部分を削除しようとしています

string = 'Newyork, NY'

comma文字列にコンマが存在する場合、を含む文字列からコンマ以降のすべての文字を削除したい

誰でもこれを行う方法を教えてもらえますか。

4

4 に答える 4

7

使用.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
于 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 に答える
0

いくつかのオプション:

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

    これにより、文字列に見つからないValueError場合が発生します。,ここでは、.indexスライスを使用して文字の位置を見つけます。

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

    このsplit関数は、 で区切られた部分文字列のリストを提供し、リスト,の最初の要素を取得するだけです。これは,、文字列に が存在しなくても機能します (その場合、分割するものがないため、 となりますstring.split(...) == [string]) 。

于 2012-09-28T09:11:16.883 に答える