私は正規表現とPythonにいくぶん新しく、次のような状況にあります。私は"A + B + C + 4D"
のような数式文字列を取り、その前に番号がないすべての変数の前に数字1を置きたいと思います。だから、のようなもの:いくつかの研究と尋ねた後Pythonの式の置換での正規表現
>>> foo_eqn = "A + B + C + 4D"
>>> bar_eqn = fill_in_ones(foo_eqn)
>>> bar_eqn
"1A + 1B + 1C + 4D"
、私はしかし
def fill_in_ones(in_eqn):
out_eqn = re.sub(r"(\b[A-Z]\b)", "1"+ r"\1", in_eqn, re.I)
return(out_eqn)
を思い付いた、それは最初の二つの変数のために、この唯一の作品のようになります。
>>> fill_in_ones("A + B")
1A + 1B
>>> fill_in_ones("A + B + E")
1A + 1B + E
>>> fill_in_ones("2A + B + C + D")
2A + 1B + 1C + D
何を本当に明白な私は行方不明ですか?ありがとう!
ショート先端\ 1 "。 – mbomb007