在两个关键字之间的文本文件中搜索字符串

2024-10-03 19:23:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个用Python编写的程序,可以打印这样的代码:

<script type="text/javascript" language="JavaScript">
ArtistName = "FUN.";
SongName = "We Are Young";
</script> 

我试过用awk写一个脚本,让我把ArtistName和SongName保存为变量,但看不出来。在python中有这样做的方法吗?你知道吗


Tags: 代码text程序typescriptjavascriptlanguageare
2条回答

如果需要,可以使用正则表达式将ArtistNameSongName保存为字典中的键。你知道吗

下面是一些到正则表达式解释的链接:Python DocsTutorials Point

import re

s = #string you're parsing

regex = re.compile(r'\w+ = \".*\";')
matches = regex.findall(s)

dict1 = {}
for m in matches:

    elems = m.split(" = ")

    dict1[str(elems[0])] = elems[len(elems) - 1].strip(';')


print (dict1['ArtistName'])
print (dict1['SongName'])

输出(使用示例字符串):

'"FUN."'
'"We Are Young"'

如果您的数据足够一致,您可能可以使用正则表达式(只要您没有带有"等的名称),例如:

text="""<script type="text/javascript" language="JavaScript">
ArtistName = "FUN.";
SongName = "We Are Young";
</script> """

import re

print dict(re.findall(r'((?:Artist|Song)Name)\s=\s"([^"]*)"', text))
# {'ArtistName': 'FUN.', 'SongName': 'We Are Young'}

相关问题 更多 >