pav*_*thi 9 regex split python-3.x
当我使用split()命令时,我在Python 3版本中收到警告,如下所示:
pattern = re.compile(r'\s*')
match = re.split(pattern, 'I am going to school')
print(match)
Run Code Online (Sandbox Code Playgroud)
python3.6/re.py:212:FutureWarning:split()需要非空模式匹配.return _compile(pattern,flags).split(string,maxsplit)
我不明白为什么我会收到这个警告.
azh*_*rei 17
您收到此警告是因为\s*您要求在零或多个空格的子字符串上拆分模式
但是......空字符串匹配该模式,因为其中有空白空间!
目前还不清楚re.split应该怎么做.这是做什么的str.split:
>>> 'hello world'.split('')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: empty separator
>>>
Run Code Online (Sandbox Code Playgroud)
re.split决定抛弃那个空子串选项,而是拆分一个或多个空格.在python3.6中它会发出FutureWarning你正在看到的,告诉你这个决定.
您可以通过替换*为+:
$ python3.6 -c "import re; print(re.split('\s*', 'I am going to school'))"
/usr/lib64/python3.6/re.py:212: FutureWarning: split() requires a non-empty pattern match.
return _compile(pattern, flags).split(string, maxsplit)
['I', 'am', 'going', 'to', 'school']
$ python3.6 -c "import re; print(re.split('\s+', 'I am going to school'))"
['I', 'am', 'going', 'to', 'school']
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6533 次 |
| 最近记录: |