我有一个打印以下内容的变量:
110,356,248.35 ZAR
我将如何删除“ ZAR”以及所有“,”。
下面的代码摘录:
IMPPEN36ONEPEF = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "div#product-UT td.portfolioProductContractFundHeaderValueRight"))).get_attribute('innerHTML').strip()
print(IMPPEN36ONEPEF)
我希望输出为110356248.35,但将其打印为110,356,248.35 ZAR。
答案 0 :(得分:5)
使用str.replace
:
>>> s = '110,356,248.35 ZAR'
>>> s.replace(',','').replace(' ZAR','')
'110356248.35'
>>>
或使用regex
:
>>> import re
>>> s = '110,356,248.35 ZAR'
>>> re.sub('[A-Z, ]','',s)
'110356248.35'
>>>
答案 1 :(得分:1)
如果ZAR
总是结尾,则可以使用
IMPPEN36ONEPEF = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "div#product-UT td.portfolioProductContractFundHeaderValueRight"))).get_attribute('innerHTML').replace(",","").strip("ZAR")
print(IMPPEN36ONEPEF)
答案 2 :(得分:0)
为此使用正则表达式
import re
IMPPEN36ONEPEF = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "div#product-UT td.portfolioProductContractFundHeaderValueRight"))).get_attribute('innerHTML')
IMPPEN36ONEPEF = re.sub('[a-zA-Z, ]*', '', IMPPEN36ONEPEF)
print(IMPPEN36ONEPEF)
输出
110356248.35
如果您需要删除其他内容,请扩展我的正则表达式。