Python 如何在字符串中的数字前换行

Python 如何在字符串中的数字前换行,python,string,list,Python,String,List,我想在数字之前剪切字符串,这样它将形成一个新字符串。我将确保除步骤外,没有其他数字,例如用于测量的数字 例如: a = 'HOW TO COOK RICE - Chapter 1: 1 rinse water once 2 add one and a half cup of water for every cup of rice 3 cover the pot and simmer' 结果应在除章节数字外的每个数字前加一行 HOW TO COOK RICE - Chapter 1 1 rins

我想在数字之前剪切字符串,这样它将形成一个新字符串。我将确保除步骤外,没有其他数字,例如用于测量的数字

例如:

a = 'HOW TO COOK RICE - Chapter 1: 1 rinse water once 2 add one and a half cup of water for every cup of rice 3 cover the pot and simmer'
结果应在除章节数字外的每个数字前加一行

HOW TO COOK RICE - Chapter 1
1 rinse water once
2 add one and a half cup of water for every cup of rice
3 cover the pot and simmer
使用正则表达式

a = 'HOW TO COOK RICE - Chapter 1: 1 rinse water once 2 add one and a half cup of water for every cup of rice 3 cover the pot and simmer'
idx=[i.start() for i in re.finditer('(\d{1,} \w{1,})', a)]
if idx:
    print(a[:idx[0]])
else:
    print(a)
for i,index in enumerate(idx):
    if not i==len(idx)-1:
        print(a[index:idx[i+1]])
    else:
        print(a[idx[i]:])
输出

HOW TO COOK RICE - Chapter 1: 
1 rinse water once 
2 add one and a half cup of water for every cup of rice 
3 cover the pot and simmer

欢迎来到StackOverflow。请按照您创建此帐户时的建议,阅读并遵循帮助文档中的发布指南,在这里申请。StackOverflow不是设计、编码、研究或教程资源。但是,如果您遵循联机找到的任何资源,进行诚实的编码尝试,并遇到问题,您将有一个很好的示例发布。此问题缺少上下文或其他详细信息:请通过提供其他上下文来改进此问题,理想情况下,包括你对问题的想法以及你为解决问题所做的任何尝试。这些信息有助于其他人识别您遇到的困难,并帮助他们写出适合您经验水平的答案。你还需要准确地陈述问题是什么,你期望什么,你得到了什么,以及任何回溯。你还需要确保你的问题是明确的。在这种情况下,返回的字符串中是否应该忽略前缀HOW TO COOK RICE-Chapter 1:simply?检测章节标题结尾的代码准确程度如何?是否总是在章节后面跟数字,后面跟:?如果指令本身包含数字,会发生什么情况?例如,每杯大米加1 1/2杯水这只是一个例子。我会确保除了字符串中的步骤之外没有其他号码谢谢!这就是我要找的。但是,它不会打印最后一位数字3,请盖上锅盖并炖煮。对不起,我忘了把它放在预期结果上。@SunnyVale加利福尼亚无忧编辑代码。确保说明书中没有任何数字冷却。谢谢还有一件事,我怎样才能打印出《怎样做米饭》——第一章?@sunnyvale-california-donethanks!我接受了这个解决方案