5

これはかなり基本的なことですが、2 つの参照点の間の文字列を見つける最善の方法は何かと考えていました。

例えば:

2 つのコンマの間の文字列を見つける:

Hello, This is the string I want, blabla

私の最初の考えは、リストを作成し、次のようにすることです。

stringtext= []
commacount = 0
word=""
for i in "Hello, This is the string I want, blabla":
    if i == "," and commacount != 1:
        commacount = 1
    elif i == "," and commacount == 1:
        commacount = 0
    if commacount == 1:
        stringtext.append(i)

print stringtext
for e in stringtext:
    word += str(e)

print word

しかし、もっと簡単な方法があるのか​​、それとも単純に違う方法があるのか​​ 疑問に思っていました. ありがとうございました!

4

3 に答える 3

10

これがstr.split(delimiter)目的です。
リストを返します。これを実行[1]または反復できます。

>>> foo = "Hello, this is the string I want, blabla"
>>> foo.split(',')
['Hello', ' this is the string I want', ' blabla']
>>> foo.split(',')[1]
' this is the string I want'

先頭のスペースを削除したい場合は、 を使用するstr.lstrip()か、str.strip()末尾のスペースも削除します。

>>> foo.split(',')[1].lstrip()
'this is the string I want'

通常、Python ではこのような単純なものに使用できる組み込みメソッドがあります :-)
詳細については、組み込み型 - 文字列メソッドを参照してください。

于 2013-05-14T13:16:29.280 に答える
1

- を使用reすると、開始点と終了点を変えたい場合や、より複雑な基準が必要な場合に簡単になります。

例:

>>> import re
>>> s = "Hello, This is the string I want, blabla"
>>> re.search(',(.*?),', s).group(1)
' This is the string I want'
于 2013-05-14T13:30:48.963 に答える