擅长:python、mysql、java
<p>使用regex检查字符串是否为所需格式,如果是,则使用<code>\d+</code>提取所需的数字,因为字符串只能包含一个数字,如下所示:</p>
<p>请注意,这样做的好处是,如果<code>leverage</code>不是字符串中<code>x3x</code>所需的格式,则会引发错误</p>
<pre><code>import re
fundleverage = None
regex_fundleverage = None
funddirection = "Long"
instrument_name = "ComStage LevDAX 3x UCITS ETF"
regex_fundleverage = re.search(r"(\b\d+x|x\d+\b)", instrument_name, flags=re.IGNORECASE)
if regex_fundleverage:
regex_fundleverage = re.search(r"(\d+)", regex_fundleverage.group(0), flags=re.IGNORECASE)
print(regex_fundleverage.group(0))
if funddirection == "Long" and not regex_fundleverage == None:
fundleverage = "+" + regex_fundleverage.group(1) + "00"
if funddirection == "Short" and not regex_fundleverage == None:
fundleverage = "-" + regex_fundleverage.group(1) + "00"
print "Fundleverage: %s" % fundleverage
</code></pre>