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

You can use % string formatting instead:

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

or even just concatenation:

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

The re module itself was already present in 2.2.

Note that you probably want to use re.escape() on the string to make sure that any meta characters are escaped:

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