Skip to main content
 首页 » 编程设计

python之按特定字母拆分字符串,同时将它们保留在字符串中

2025年05月04日22dflying

我正在尝试按特定字母(在本例中为:'r'、'g' 和'b')拆分字符串,以便稍后将它们附加到列表中。这里要注意的是,我希望这些字母也被复制到列表中。

string = '1b24g55r44r' 

我想要的:

[[1b], [24g], [55r], [44r]] 

请您参考如下方法:

您可以使用 findall :

import re 
 
print([match for match in re.findall('[^rgb]+?[rgb]', '1b24g55r44r')]) 

输出

['1b', '24g', '55r', '44r'] 

正则表达式匹配:

  • [^rgb]+? 所有不是 rgb 一次或多次
  • 后跟 [rgb] 之一。

如果您需要结果是单例列表,您可以这样做:

print([[match] for match in re.findall('[^rgb]+?[rgb]', '1b24g55r44r')]) 

输出

[['1b'], ['24g'], ['55r'], ['44r']] 

此外,如果字符串仅由 digits 和 rgb 组成,您可以这样做:

import re 
 
print([[match] for match in re.findall('\d+?[rgb]', '1b24g55r44r')]) 

上述正则表达式中唯一的变化是\d+?,这意味着匹配一个或多个数字。

输出

[['1b'], ['24g'], ['55r'], ['44r']]