我有一个变量,它包含股票符号。我需要拆分每个符号,以独立计算它。
print(Symbols_Splitted)
#returns this
["'['AAPL", 'TSLA', "MSFT']'"]
我需要一些东西来过滤相关的话,模式总是一样的。
我试过这个方法,它很有效,但我发现了一个问题。一些符号中有特殊字符,如“EurUSD=X”,这个代码删除了“=”,这使它无效。
def convertor(s):
perfect = re.sub('[^a-zA-Z]+', '', s)
return perfect
all = list(map(convertor, Symbols_Splitted))
因此,以第一个例子为例,我需要这样的东西:
Some_function(Symbols_Splitted)
Symbols_Splitted[0]
> AAPL
Symbols_Splitted[1]
> MSFT
Symbols_Splitted[2]
> TSLA
**解决方案:**我在方括号中添加了=和-,所以我的函数现在是
def convertor(s):
perfect = re.sub('[^a-zA-Z-=-]+', '', s)
return perfect
all = list(map(convertor, Symbols_Splitted))
1条答案
按热度按时间zdwk9cvp1#
我不认为替换是最佳途径,我会尝试定义你感兴趣的模式--股票代码。
我并不十分清楚股票代号的所有有效字符是甚么,以及这些符号适用甚么规则,但从我所读到的资料来看,以下的规则似乎是成立的:
有了这些规则,我们可以构造下面的简单模式:
Python代码可能如下所示:
输出:
当然,如果有其他要求,该模式可以扩展。