【发布时间】:2022-01-17 11:59:40
【问题描述】:
我正在尝试使用正则表达式将字符串拆分为多个字符串。 我有如下字符串:
-
'1. 10.25% 2. 11% 3. 9.75% 4. 4.3%'
-
'1.promising.2.inappropriately3.essential.4.intense.'
-
'1.他没有参加 2. 英语课 3. 一个月以来 4.没有错误'
-
'1. X 获得 15 股2。 B获得25股3。 W 得到 54 股。4 股。马克获得了 2.5 股'
我期待这样的输出:
-
'1. X 获得 15 股''2. B得到25股','3。 W 得到 54. 股。', '4.马克获得了 2.5 股'
-
'1. 10.25%'
-
'2. 11%'
-
'3. 9.75%'
-
'4. 4.3%'
我想编写一个表达式来分割所有给定的场景。 我尝试编写以下表达式,但在某些情况下会失败
re.split(r'(?=[1-9]{1}\.[\s]?[a-zA-Z0-9\.\:\(\)\-\,\% ]+)', string)
【问题讨论】:
-
Regex 不能执行数学运算,所以使用 "sequential numbers" 的任务会更好地使用 python 来解决。
-
请写出预期的输出
-
在您将
"W got 54. shares"加入其中之前,问题不大。 -
这是用正则表达式格式化的非常可怕的文本!
3. W got 54. shares.4. Mark got 2.5 shares???? -
@JvdV 是的,如果 dot 介于两者之间会给我带来问题。同样在某些情况下,我有带有浮点数的字符串。