Python|拆分字符串中的运算符
有时我们有一个源字符串来进行计算,我们需要将数字和运算符拆分为单个元素的列表。让我们讨论一些可以解决这个问题的方法。
方法 #1:使用re.split()
可以使用Python正则表达式库提供的拆分功能来解决此任务,该库具有根据特定条件拆分字符串的能力,在这种情况下是所有数字和运算符。
# Python3 code to demonstrate working of
# Splitting operators in String
# Using re.split()
import re
# initializing string
test_str = "15 + 22 * 3-4 / 2"
# printing original string
print("The original string is : " + str(test_str))
# Using re.split()
# Splitting operators in String
res = re.split(r'(\D)', test_str)
# printing result
print("The list after performing split functionality : " + str(res))
输出 :
The original string is : 15+22*3-4/2
The list after performing split functionality : [’15’, ‘+’, ’22’, ‘*’, ‘3’, ‘-‘, ‘4’, ‘/’, ‘2’]
方法 #2:使用re.findall()
这个Python正则表达式库函数也可以执行与上述函数类似的任务。它还可以支持十进制数字作为附加功能。
# Python3 code to demonstrate working of
# Splitting operators in String
# Using re.findall()
import re
# initializing string
test_str = "15 + 22.6 * 3-4 / 2"
# printing original string
print("The original string is : " + str(test_str))
# Using re.findall()
# Splitting operators in String
res = re.findall(r'[0-9\.]+|[^0-9\.]+', test_str)
# printing result
print("The list after performing split functionality : " + str(res))
输出 :
The original string is : 15+22.6*3-4/2
The list after performing split functionality : [’15’, ‘+’, ‘22.6’, ‘*’, ‘3’, ‘-‘, ‘4’, ‘/’, ‘2’]