13
私はPython 3で読み込み、結果の文字列に値をフォーマットしたいLaTeXファイルを持っています。ような何か:余分な中括弧を含む文字列をフォーマットします
...
\textbf{REPLACE VALUE HERE}
...
しかし、文字列の書式設定を行うための新しい方法が{val}
表記を使用していますので、私はこれを行う方法を見つけ出すことができていないと、それはLaTeXの文書であるため、余分な{}
文字のトンがあります。
私が何かしようとしました:
'\textbf{This and that} plus \textbf{{val}}'.format(val='6')
を私は、私が実際にやるだろう何である
KeyError: 'This and that'
将来、string.Templateは廃止されるかどうかの手掛かりはありますか?新しいpython 3 {}フォーマットにはこれが含まれているようです。 LaTeX編集では、テンプレートははるかに便利です。 – levesque
@levesque:まあ、(保留中の)3.4では廃止されておらず、 '{}'の書式設定とは異なる機能を提供していますので、しばらく張り巡らされると思います。 – DSM
正規表現を使うのではなく、余分な中括弧を追加する方が、おそらく 'str.translate'を使う方がいいでしょう。与えられた文字列を修正するために、 'goodstring = badstring.translate(unformatter)'(注意:この例では、 'unformatter = str.maketrans({'{'、 '}'}}}' Python 3.xについての質問です; 2.xでは、 'unicode'だけが1-n変換マッピングをサポートするので、これは' str'ではなく 'unicode'でのみ有効です。) – ShadowRanger