Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何拆分字符串分隔的数字_Python_String_Split_Python 2.7 - Fatal编程技术网

Python 如何拆分字符串分隔的数字

Python 如何拆分字符串分隔的数字,python,string,split,python-2.7,Python,String,Split,Python 2.7,我有一个用序数分隔的长字符串。例如:“1.早上好2.你好3.再见”(但开头不一定要有数字,我不知道有多少数字,如果有的话。)我想得到这样的列表:[“早上好”,“你好”,“再见”] 如果开头没有数字,则第一个元素不会为空。但是,这并不能检查数字的顺序是否正确。让我知道这是否重要 编辑:感谢@glglglgl的评论。在'*\d+\.*上拆分在前导/尾随空格方面可能更好 如果开头没有数字,则第一个元素不会为空。但是,这并不能检查数字的顺序是否正确。让我知道这是否重要 编辑:感谢@glglglgl的评论

我有一个用序数分隔的长字符串。例如:“1.早上好2.你好3.再见”(但开头不一定要有数字,我不知道有多少数字,如果有的话。)我想得到这样的列表:
[“早上好”,“你好”,“再见”]

如果开头没有数字,则第一个元素不会为空。但是,这并不能检查数字的顺序是否正确。让我知道这是否重要

编辑:感谢@glglglgl的评论。在
'*\d+\.*上拆分
在前导/尾随空格方面可能更好

如果开头没有数字,则第一个元素不会为空。但是,这并不能检查数字的顺序是否正确。让我知道这是否重要


编辑:感谢@glglglgl的评论。在
'*\d+\.*上拆分
在前导/尾随空格方面可能更好。

谢谢。我不知道在python中如何使用正则表达式进行拆分。我确信数字的顺序是正确的。
re.split()
的+1,我一直忘了:)我的解决方案的输出结果是相同的
re.sub('\d+','',s)。split('.')
,但更复杂。@Levon您的解决方案可能有一个在短语中消除数字的陷阱。除非数字后面跟一个句点和一个空格:
'1,否则我的代码不会这样做。早上好。你好3。再见。我厨房里有5条狗
@LevLevitsky你说得对,谢谢你指出这一点。我还在学习正则表达式。另外,您的解决方案在概念上更直接、更清晰,我没有尝试,但可能是
“*\d+\”
最好在数字前加上空格…谢谢。我不知道在python中如何使用正则表达式进行拆分。我确信数字的顺序是正确的。
re.split()
的+1,我一直忘了:)我的解决方案的输出结果是相同的
re.sub('\d+','',s)。split('.')
,但更复杂。@Levon您的解决方案可能有一个在短语中消除数字的陷阱。除非数字后面跟一个句点和一个空格:
'1,否则我的代码不会这样做。早上好。你好3。再见。我厨房里有5条狗
@LevLevitsky你说得对,谢谢你指出这一点。我还在学习正则表达式。另外,您的解决方案在概念上更直接、更清晰,我没有尝试,但可能是
“*\d+\”最好是在数字前吃空格。。。
In [1]: s = '1. Good morning 2. Hello 3. Bye'

In [2]: import re

In [3]: re.split('\d+\. ', s)
Out[3]: ['', 'Good morning ', 'Hello ', 'Bye']