试图找到一个命令,所以我可以得到字符串(例如名称)从一个更大的字符串



我一直在试图找到一个命令,这样我就可以得到一个字符串格式的名称,如"some string some string <name> some string"

我设法为这种工作编写了一个代码,但如果有更好的方法,比如一个命令,我将非常高兴。

代码示例:

def findName(str):
indexOne = str.index('<')
indexTwo = str.index('>')
resultList = []
for i in str:
if str.index(i) > indexOne and str.index(i) < indexTwo:
resultList.append(i)

return "".join(resultList)

您可以使用切片来简化您的解决方案:

>>> string = "some string some string <name> some string"
>>> string[string.index("<")+1:string.index(">")]
'name'

或者您可以使用正则表达式和re.search():

import re
string = "some string some string <name> some string"
match = re.search("<(.*)>", string)
if match:
print("Found:", match.group(1))
else:
print("Not found")

输出
Found: name

如果你有一个类似

的字符串
a = 'somestring1 somestring2 somestring3 <Stack Overflow> somestring4'

然后你可以这样做:

import re
words = re.findall(r'<(.*)>',a)
print(words)

最新更新