从打印变量中删除字符

时间:2019-03-28 09:26:50

标签: python

我有一个打印以下内容的变量:

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。

3 个答案:

答案 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

如果您需要删除其他内容,请扩展我的正则表达式。