ptyhon
1operation = "'<br />'.join([x for x in xxx.split('\n')])" # ここは単なる文字列 2xxx = eval(operation)
上記はエラーになるのですが、operation の文字列を評価して、xxx の内容を書き換えたいのです。
ラムダでもなんでもいいのですが、可能な方法ご存知でしたらお教えください。
\n は、\n とエスケープしてもだめみたいです。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
ベストアンサー
operationの文字列の先頭にrを付けてraw文字列としたらそのまま動きました。
python
1>>> xxx = "hoge\nfuga\n" 2>>> operation = r"'<br />'.join([x for x in xxx.split('\n')])" 3>>> eval(operation) 4'hoge<br />fuga<br />'
ほぼ同様の結果が得られるであろう操作としては、こういったものも考えられます。
python
1>>> operation = r"'<br />'.join(xxx.split('\n'))" # これは完全に同じ 2>>> operation = r"xxx.replace('\n', '<br />')" # 完全に同じかどうか保証しかねます
また、evalを使う特別な事情がなければ、普通の方法でやってください。
投稿2018/05/22 05:59
総合スコア30933
0
配列に分解することをメインに考えていますが、そもそも置換ではダメなんでしょうか?
python
1>>> s = 'hoge\nfuga' 2>>> s.replace('\n', '<br />') 3'hoge<br />fuga'
投稿2018/05/22 06:02
総合スコア6753
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/05/22 06:36
2018/05/22 06:49 編集
2018/05/22 06:57
2018/05/22 07:13
2018/05/22 08:53
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/05/22 06:14
2018/05/22 06:48