基于循环模式拆分字符串

2024-09-30 02:16:48 发布

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

我有以下刺痛:

a='text1fig [1]text2fig [15]text3fig [234]text4fig [2234]text5' 

我想把它分成:

texts=['text1','text2','text3','text4','text5']

我试过:

import re    
texts=re.split('fig \\[[0-3000]\\]',texts) .  

但它不起作用。
谢谢


Tags: importrefigsplittextstext1text2text4
2条回答

数字范围不是这样的。只需使用\d。此外,您还需要一个反斜杠,因为双反斜杠被视为一个文本反斜杠(您希望它转义为[/]元字符)。你知道吗

text = re.split(r'fig\s*\[\d+\]', a)

print(text)
['text1', 'text2', 'text3', 'text4', 'text5']

正则表达式详细信息

fig   
\s*   # 0 or more whitespace chars 
\[    # literal opening brace
\d+   # 1 or more digits
\]    # literal closing brace

你想用“关于芬德尔“而不是”重新拆分““

texts = re.findall('text\d', a)

['text1', 'text2', 'text3', 'text4', 'text5']

相关问题 更多 >

    热门问题