- ベストアンサー
テキスト処理 置換
ファイル中の\begin{document}を<body>に変換したい のですが、errorになってしまいます。 s/\begin{document}/<body>/; はどこがだめなのでしょうか。 Perl勉強し始めなものです。 ご教授お願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
\はエスケープシーケンスなので、 \\にしないとダメです。 あと、例えば、 $str ="nanntarakatara\begin{document}abudakadabura"; $str =~ s/\\begin{document}/<body>/; とか元の変換しようとしている部分で、 ""を使っている場合エスケープシーケンスが展開されてしまうので、 $str = 'nanntarakatara\begin{document}abudakadabura'; の様にしないとダメです。
その他の回答 (1)
- betagamma
- ベストアンサー率34% (195/558)
回答No.1
s/\begin{document}/<body>/; たぶん、エスケープがうまくいっていないのではないでしょうか?まず、\マークは、\\ですし、{も\{にしないといけないのでは?と思います。 s/\\begin\{document\}/<body>/; で、うまくいきませんか?
質問者
お礼
うまくいきました! どうもありがとうございました。
お礼
>""を使っている場合エスケープシーケンスが展開されてしまうので、 $str = 'nanntarakatara\begin{document}abudakadabura'; の様にしないとダメです。 そうなのですね、気付きませんでした。 例まで出していただき、どうもありがとうございます。確認できました。