【问题标题】:Python. how to convert the words inside two characters to a list [duplicate]Python。如何将两个字符内的单词转换为列表[重复]
【发布时间】:2021-03-30 10:58:18
【问题描述】:

我想要一种方法来创建一个列表,其中包含出现在字符串之间的字符串 特定字符,在这种情况下 `

例如这个字符串:

string = '<#346283347234774> **Useless text that I want to remove**
more useless text it is useless, so useless.
`potato`, `boxes`, `christmas tree`'

成为这个列表

list = ['potato', 'boxes', 'christmas tree']

我已经尝试过使用正则表达式,但我更希望得到一些对普通菜鸟来说可读的东西,当我稍后返回代码更新它时,我将能够理解。

对不起,如果这太简单了,我对 Python 和一般编程真的很陌生。

【问题讨论】:

标签: python


【解决方案1】:

尝试使用re.findall

print(re.findall('`([\w+ ]*)`', string))

输出:

['potato', 'boxes', 'christmas tree']

说明:

在上面,我有:

`

在表达式的两边。这只是有助于尝试匹配组,因为您想要这两个标志之间的文本。 findall 函数提取括号内的任何内容。在括号中我们有\w+,它获取两个符号内的字符,然后我们有一个额外的空格,以便它也匹配'christmas tree'之间的空格,然后*匹配所有内容。

这里是link 以获得更多解释。

【讨论】:

  • 如果您能简要解释一下上述findall() 函数中发生的事情,那将非常有帮助。
  • 字符组中的+ 表示您实际上是在寻找文字+ 符号。更简单更高效:`([^`]*)`
  • @Tomerikoo 我编辑过看看。
  • 您添加了解释... + 仍然没有必要(除非您希望 + 符号作为单词的一部分)
  • @Tomerikoo 不管怎样我把它放在那里,还要检查我的 regex101 链接
猜你喜欢
  • 2020-04-02
  • 2019-12-02
  • 2015-05-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-02
  • 2019-01-11
  • 1970-01-01
相关资源
最近更新 更多