gpt4 book ai didi

python - 裁剪出字符串的一部分并使用正则表达式打印

转载 作者:太空宇宙 更新时间:2023-11-04 04:53:47 24 4
gpt4 key购买 nike

我正在尝试裁剪字符串列表的一部分并打印它们。数据如下所示 -

Books are on the table\nPick them up
Pens are in the bag\nBring them
Cats are roaming around
Dogs are sitting
Pencils, erasers, ruler cannot be found\nSearch them
Laptops, headphones are lost\nSearch for them

(这只是文件中100行数据中的几行)

我必须裁剪第 1、2、5、6 行中\n 之前的字符串并打印它们。我还必须与它们一起打印第 3,4 行。预期输出 -

Books are on the table
Pens are in the bag
Cats are roaming around
Dogs are sitting
Pencils erasers ruler cannot be found
Laptops headphones are lost

到目前为止我尝试了什么-

首先,我将 comma 替换为 space - a = name.replace(',',' ');

然后我使用正则表达式裁剪出子字符串。我的正则表达式是 - b = r'.*-\s([\w\s]+)\\n'。我无法打印 \n 不存在的第 3 行和第 4 行。

我现在收到的输出是 -

Books are on the table
Pens are in the bag
Pencils erasers ruler cannot be found
Laptops headphones are lost

我应该在表达式中添加什么来打印第 3 行和第 4 行?

TIA

最佳答案

您可以匹配并删除以反斜杠和 n 的组合开头的行部分,或所有标点符号(非单词和非空白)字符使用re.sub :

a = re.sub(r'\\n.*|[^\w\s]+', '', a)

参见 regex demo

详情

  • \\n.* - \n,然后是该行的其余部分
  • | - 或者
  • [^\w\s]+ - 除了单词和空白字符之外的 1 个或多个字符

如果你需要确保\n后面有一个大写字母,你可以在模式中的n之后添加[A-Z] .

关于python - 裁剪出字符串的一部分并使用正则表达式打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47562030/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com