从文本中提取特定部分 - Python

2024-10-01 17:23:00 发布

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

我想提取文本的一部分,例如

“你好”以“再见”结尾

示例:

从以下内容中提取Hello i'm Gabi, :D goodbye句子:

asdasd dwref ADSADSADA Hello i'm Gabi :D goodbye asd asl sodjasdji asdoija

Tags: 文本示例hello结尾句子aslasdasdasd
2条回答

您可以使用非常基本的正则表达式:

(演示和解释其工作原理:https://regex101.com/r/bO0rL7/2

import re

string = "asdasd dwref ADSADSADA Hello i'm Gabi :D goodbye asd asl sodjasdji asdoija"


match = re.findall(r'hello .+ goodbye', string, flags=re.IGNORECASE)
if match:
    print(match[0])
>> "Hello i'm Gabi :D goodbye"

除非您想实现NLP,并且不熟悉regex,否则简单的方法如下:

import sys
s = "asdasd dwref ADSADSADA Hello i'm Gabi :D goodbye asd asl sodjasdji asdoija"
hello = s.find("Hello")
goodbye = s.find("goodbye")
if hello == -1 or goodbye == -1:
    print("Not found")
    sys.exit(0)
goodbye += len("goodbye") 
print(s[hello:goodbye])

相关问题 更多 >

    热门问题