split分割字符串有分割次数限制吗
import res = '### 测试次数:1 ###\nabc### 测试次数:2 ###\ncde### 测试次数:3 ###\ndef### 测试次数:4 ###\nefg### 测试次数:5 ###\nfgh' \
'### 测试次数:6 ###\nghi### 测试次数:7 ###\nhij### 测试次数:8 ###\nijk### 测试次数:9 ###\njkl### 测试次数:10 ###\nklm'
result = re.split('### 测试次数:\d+ ###\n', ''.join(s), re.MULTILINE)
print(result)
print(len(result))
运行结果:
['', 'abc', 'cde', 'def', 'efg', 'fgh', 'ghi', 'hij', 'ijk### 测试次数:9 ###\njkl### 测试次数:10 ###\nklm']
9
请问这是为什么? 我把你的re.split参数补全你就能看出来了
result = re.split(pattern='### 测试次数:\d+ ###\n', string=''.join(s),maxsplit=re.MULTILINE)
你将maxsplit也就是分割的最大次数设成了re.MUITLINE
所以解决方法是将re.MUITLINE指定为flags参数
import re
s = '### 测试次数:1 ###\nabc### 测试次数:2 ###\ncde### 测试次数:3 ###\ndef### 测试次数:4 ###\nefg### 测试次数:5 ###\nfgh' \
'### 测试次数:6 ###\nghi### 测试次数:7 ###\nhij### 测试次数:8 ###\nijk### 测试次数:9 ###\njkl### 测试次数:10 ###\nklm'
result = re.split('### 测试次数:\d+ ###\n', ''.join(s), flags=re.MULTILINE)
print(result)
print(len(result)) 临时号 发表于 2022-7-10 10:37
我把你的re.split参数补全你就能看出来了
你将maxsplit也就是分割的最大次数设成了re.MUITLINE
感谢回答,确实如实,学艺不精,受教!
页:
[1]