在 Python 中的特定字符串后查找 n 个字符
Find n characters after a specific string in Python
我有一个网页的来源。它只是一大堆随机数、字母和函数名,以字符串形式保存在 python3 中。我想在这个字符串的源代码中找到说 \"followerCount\":
的文字,但我也想找到它后面的一点文字(n 个字符) .这有望包含我正在寻找的文本。我可以在 后面的 n 个字符 python3 中搜索 的特定部分吗?
使用.find()
得到位置:
html = "... lots of html source ..."
position = html.find('"followerCount":')
然后使用字符串切片来提取字符串的那部分:
n = 50 # or however many characters you want
print(html[position:position+n])
基于模式查找文本的标准方法是正则表达式。例如,您可以在此处询问“followerCount:”
之后的任意三个字符
import re
s = 'a bunch of randoms_characters/"followerCount":123_more_junk'
match = re.search(r'(?<="followerCount":).{3}', s)
if match:
print(match.group(0))
#prints '123'
或者,您可以制作一个没有后视的正则表达式,并捕获一组中的三个字符:
import re
s = 'a bunch of randoms_characters/"followerCount":123_more_junk'
match = re.search(r'"followerCount":(.{3})', s)
if match:
print(match.group(1))
#prints '123'
我有一个网页的来源。它只是一大堆随机数、字母和函数名,以字符串形式保存在 python3 中。我想在这个字符串的源代码中找到说 \"followerCount\":
的文字,但我也想找到它后面的一点文字(n 个字符) .这有望包含我正在寻找的文本。我可以在 后面的 n 个字符 python3 中搜索 的特定部分吗?
使用.find()
得到位置:
html = "... lots of html source ..."
position = html.find('"followerCount":')
然后使用字符串切片来提取字符串的那部分:
n = 50 # or however many characters you want
print(html[position:position+n])
基于模式查找文本的标准方法是正则表达式。例如,您可以在此处询问“followerCount:”
之后的任意三个字符import re
s = 'a bunch of randoms_characters/"followerCount":123_more_junk'
match = re.search(r'(?<="followerCount":).{3}', s)
if match:
print(match.group(0))
#prints '123'
或者,您可以制作一个没有后视的正则表达式,并捕获一组中的三个字符:
import re
s = 'a bunch of randoms_characters/"followerCount":123_more_junk'
match = re.search(r'"followerCount":(.{3})', s)
if match:
print(match.group(1))
#prints '123'