0

以下を含む2つの文字列があります。

name = 'Kalvo'
info = 'PC1:\nKalvo (Read)(Write)\nKL27 (Read)(Write)'

ここで達成したいのは、名前で見つかった単語の情報を検索し、名前の後にすべてを出力することです。

文字列情報で文字列名を検索しているとしましょう。出力する必要があります。

Kalvo (Read)(Write)

ここでの問題は、私が使用している python バージョンが古い 2.2 バージョンであることです。新しいバージョンの python では、これで作業が完了します。

>>> from re import findall
>>> name = 'Kalvo'
>>> info = 'PC1:\nKalvo (Read)(Write)\nKL27 (Read)(Write)'
>>> findall("{}.*".format(name), info)[0]
'Kalvo (Read)(Write)'

しかし、それは古いバージョンの python では機能しません。古いバージョンの python で同じ出力を得るにはどうすればよいでしょうか?

4

1 に答える 1

0

代わりに%文字列の書式設定を使用できます。

findall("%s.*" % name, info)[0]

または単なる連結:

findall(name + ".*", info)[0]

reモジュール自体は2.2 ですでに存在していました。

re.escape()メタ文字がエスケープされていることを確認するために、おそらく文字列で使用したいことに注意してください。

findall("%s.*" % re.escape(name), info)[0]
于 2013-11-07T18:35:49.947 に答える