【发布时间】:2017-05-23 23:29:54
【问题描述】:
首先,我为我模糊的问题框架道歉,我只是不知道该怎么称呼这个问题。我也搜索了很多谷歌试图找到解决方案,但我没有得出任何结论。
我目前有一整串数字,如@987654321@。我想遍历字符串,一旦遇到左大括号,我想在遇到右大括号之前取出所有数字并将它们放入变量中。我已经想到了一种方法,如下所示:
string = '15-5.{123434}.15-18.'
result = ""
for index, letter in enumerate(string): # For every letter with it's index,
if letter == '{': # If letter is '{',
for number in string[index:]: # Start a loop from that index,
if number =='}': # If number becomes '}',
break
result += number #Else append the number in the result string.
但是,我想知道是否有更好的方法来做到这一点。我感谢所有的答案。谢谢!
系统:Windows 10、32 位 Python版本:3.6.0【问题讨论】:
-
使用正则表达式?
-
你对正则表达式很熟悉吗?他们使这个问题变得微不足道。
-
我正在考虑使用正则表达式,但我不太了解它们,也不知道是否应该使用 re.search()、re.match() 或任何其他合适的选项。
-
同一行可以有多个花括号吗?
-
使用 re.finditer() 或 re.findall()。
标签: python string for-loop numbers