如何在字符串中的另一个字符周围获取一些字符?



我有:

Lorem Ipsum只是印刷和排版的虚拟文本 工业。Lorem Ipsum一直是行业标准的虚拟文本 自 1500 年代以来,当一位不知名的打印机采用一种类型的厨房和 争先恐后地制作了一本模式标本书。洛雷姆的标准块 自 1500 年代以来使用的 Ipsum 在下面为感兴趣的人复制。 第1.10.32和1.10.33节来自"de Finibus Bonorum et Malorum",作者: 西塞罗也以完全相同的原始形式复制。

我想搜索1500s,然后选择它周围的一些字符,例如:ever since the 1500s, when an unknown。考虑到我正在 for 循环中搜索,试图在一个很长的字符串中找到所有1500s。所以下一个循环会发现:used since the 1500s is reproduced

我正在使用正则表达式来查找子字符串:

substring = re.findall('1500s', string)

但是如何在它周围选择大约 20 个字符呢?

正如cricket_007所说,您可以尝试使用.{20}作为正则表达式模式的书挡。

substring = re.findall('.{0,20}1500s.{0,20}', s)
r"(.{20})?(1500)(.{20})?" g

这也将在字符串的开头/结尾搜索"1500"。我把它们分组只是为了整理正则表达式。

在这里看到它的工作

最新更新