如何将不同的文本分组

2024-06-28 18:50:12 发布

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

我有一个包含字符串的data frame。 我想把字符串分为3类:

  • 第一类是字符串中只有单词 定义的列表,除此之外什么都没有。只要字符串中只包含该列表中的单词,单词的顺序就可以是任意的。此外,它不必包含列表中的所有单词。你知道吗
  • 第二类是除其他类别外的第一类 可能不在列表中的单词。你知道吗
  • 第三类不是前两类的东西 类别

我从清除所有标点符号并将文本转换成小写开始清理数据。你知道吗

示例:

list = ["dog name", "dog age", "dog breed"]

对于第一类中的内容,其字符串应如下所示:

"dog name dog age dog breed".

"dog age dog name"

对于第二类中的某个对象,其字符串如下所示:

  "dog name suzie dog age 4 dog breed pug" 

"dog name suzie dog breed pug"

对于第三类中的某个对象,其字符串如下所示:

"my dogs name is suzie and she is a pug who is 4 years old"

有没有关于如何分组的建议?你知道吗

谢谢:)


Tags: 对象字符串name列表agedata定义is
1条回答
网友
1楼 · 发布于 2024-06-28 18:50:12

这是你的伪代码。你知道吗

记住原始字符串orig。你知道吗

从字符串中删除列表中的所有短语,并将结果放入new。你知道吗

如果orig==new,则属于类别3。你知道吗

否则,如果new为空,则为类别1。你知道吗

否则,你有第二类。你知道吗

使用new= re.sub(r'\b(' + r'|'.join(list) + r')\b', orig)替换所有短语,将单词边界带入帐户。(尽管您确实不想调用变量list,因为这会影响Python的内置类型。)

相关问题 更多 >