Python–从字符串中提取百分比
原文:https://www . geesforgeks . org/python-extract-percents-from-string/
给定一个字符串,提取所有百分比数字。
输入 : test_str = 'geeksforgeeks 20%是获得 200%成功的 100%方式' 输出 : ['20% '、' 100% '、' 200%'] 解释 : 20%、100%和 200%是存在的百分比。
输入 : test_str = 'geeksforgeeks 是获得成功的途径' 输出 : [] 解释:不存在百分比。
方法#1:使用 findall() +正则表达式
在这种情况下,我们使用后缀中带有“%”符号的适当正则表达式,并使用 findall()从 String 中获取此类数字的所有出现。
Python 3
# Python3 code to demonstrate working of
# Extract Percentages from String
# Using regex + findall()
import re
# initializing strings
test_str = 'geeksforgeeks is 100 % way to get 200 % success'
# printing original string
print("The original string is : " + str(test_str))
# getting required result from string
res = re.findall('\d*%', test_str)
# printing result
print("The percentages : " + str(res))
Output
The original string is : geeksforgeeks is 100% way to get 200% success
The percentages : ['100%', '200%']
方法 2:使用 re.sub() + split()
在这种情况下,我们执行所有单词的拆分,然后从包含%的单词中移除所有非数字字符串。这在某些情况下是有问题的,我们在字符串中有不同的%和数字顺序。
Python 3
# Python3 code to demonstrate working of
# Extract Percentages from String
# Using re.sub() + split()
import re
# initializing strings
test_str = 'geeksforgeeks is 100 % way to get 200 % success'
# printing original string
print("The original string is : " + str(test_str))
# extracting words
temp = test_str.split()
# using
res = []
for sub in temp:
if '%' in sub:
# replace empty string to all non-number chars
res.append(re.sub(r'[^\d, %]', '', sub))
# printing result
print("The percentages : " + str(res))
Output
The original string is : geeksforgeeks is 100% way to get 200% success
The percentages : ['100%', '200%']
版权属于:月萌API www.moonapi.com,转载请注明出处