查找 Python 中字符串中的所有数字 3
Find all numbers in a string in Python 3
这里是新手,已经在网上搜索了几个小时的答案。
string = "44-23+44*4522" # string could be longer
如何使它成为一个列表,所以输出是:
[44, 23, 44, 4522]
使用 AChampion 建议的正则表达式,您可以执行以下操作。
string = "44-23+44*4522"
import re
result = re.findall(r'\d+',string)
r'' 表示原始文本,'\d' 表示小数点字符,+ 表示出现 1 次或多次。如果您希望字符串中的浮点数不希望被分开,您可能会用句点 '.'.
括起来
re.findall(r'[\d\.]+',string)
这里有你自己的功能,解释和详细。
因为你是新手,所以这是一个非常简单的方法,所以很容易理解。
def find_numbers(string):
list = []
actual = ""
# For each character of the string
for i in range(len(string)):
# If is number
if "0" <= string[i] <= "9":
# Add number to actual list entry
actual += string[i]
# If not number and the list entry wasn't empty
elif actual != "":
list.append(actual);
actual = "";
# Check last entry
if actual != "":
list.append(actual);
return list
这里是新手,已经在网上搜索了几个小时的答案。
string = "44-23+44*4522" # string could be longer
如何使它成为一个列表,所以输出是:
[44, 23, 44, 4522]
使用 AChampion 建议的正则表达式,您可以执行以下操作。
string = "44-23+44*4522"
import re
result = re.findall(r'\d+',string)
r'' 表示原始文本,'\d' 表示小数点字符,+ 表示出现 1 次或多次。如果您希望字符串中的浮点数不希望被分开,您可能会用句点 '.'.
括起来re.findall(r'[\d\.]+',string)
这里有你自己的功能,解释和详细。
因为你是新手,所以这是一个非常简单的方法,所以很容易理解。
def find_numbers(string):
list = []
actual = ""
# For each character of the string
for i in range(len(string)):
# If is number
if "0" <= string[i] <= "9":
# Add number to actual list entry
actual += string[i]
# If not number and the list entry wasn't empty
elif actual != "":
list.append(actual);
actual = "";
# Check last entry
if actual != "":
list.append(actual);
return list