使用正则表达式或语句进行字符串操作

2024-10-02 02:38:14 发布

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

我试图从一个短语中解析出某些字符串。这是一句话: '一楼二楼三楼四楼' 结尾应该是: “1楼”、“2楼”、“3楼”、“4楼”

我在获取正则表达式的'1st'、'2nd'、'3rd'、'4th'部分时遇到问题。我知道我可以用4个不同的or语句来做一个不那么直观的版本,但是我想知道我是否可以用一个来做。你知道吗

'\dst\s\w+|\dnd\s\w+|\drd\s\w+|\dth\s\w+'-这是我要缩短的很长的路

有没有办法把st、nd、rd和th合并成一个语句而不重复后面的格式? 谢谢。你知道吗


Tags: or字符串版本结尾语句直观dstst
3条回答

另一种可能性:

import re
s = '1st Floor 2nd Floor 3rd Floor 4th Floor'
s2 = re.findall(r'\w+ Floor', s)

是的,您可以将st、nd、rd和th组合成一个语句,但看起来您正在尝试从这个正则表达式中获取一个列表。为什么不这样试试^{}?你知道吗

>>> import re
>>> t = '1st Floor 2nd Floor 3rd Floor 4th Floor'
>>> re.split(r'(?<=Floor)\s+', t)
['1st Floor', '2nd Floor', '3rd Floor', '4th Floor']

Live demo

这是正则表达式:

(\d+(st|nd|rd|th)) \w+\b

相关问题 更多 >

    热门问题