• ベストアンサー

# の置換はどうすればいいですか?

#をAに置換する場合 s/#/A/; というふうに考えますが、コメントアウトされてしまいます。 /を置換するときは\/でエスケープできるのですが、#の場合どうすればよいのでしょう? また、////という文字列をAに置換する場合、 s/\/\/\/\//A/; というふうに書かなければならないのでしょうか? 何かうまい方法はありますか?

  • Perl
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

えぇと, 単純に s/#/A/; ではコメント扱いされないはずです. 実際にはどのように書いているのでしょうか? いずれにしても \ でエスケープできるはず. また, / 以外の記号を使ってもかまわないので, 例えば s!////!A!; とか s(////)[A]; のようにも書けます (ただし ? を使うとちょっと意味が違う: この辺は s/// 以外にも m// や tr///, y/// でも同じ).

ok_pumpkin
質問者

お礼

あ、できました。 #の後、コメントアウトの色になっていたので、だめだと早とちりしました。 s!////!A!; とか s(////)[A]; って書けるんですね(驚) すごく勉強になりました! ありがとうございました。

関連するQ&A

  • Perl正規表現(置換)

    Perlを用いてテキスト中の文字列 /^\d+$|^\d+\.[05]{1}$/ を、以下の文字列に置換したい場合、 うまくやる方法はないでしょうか? /^[0]+$|^[0]+\.[0]+$/ 正規表現を使いたいですが、 1つ1つエスケープしていくのはさすがに・・・ よろしくお願いいたします。

    • ベストアンサー
    • Perl
  • ハテナのみ置換するには

    A1→あ?う A2→あうう と文字列が入ってるのですが 「?」を「い」に変換したいのですが 検索する文字列→「あ?う」 置換後の文字列→「あいう」 だと A2→あうう も「あいう」になってしまいます。 「?」だけを置換する方法を教えてください。 エクセル2010です。

  • こんな文字列置換ツールもしくは置換法を探しています。

    こんな文字列置換ツールもしくは置換法を探しています。 共通した文字列「文字列A」を含むHTMLファイルが3つあります。 ファイル名は簡単に「1」、「2」、「3」とします。 この3個のファイルの「文字列A」を 置換候補(たとえば「文字列あ」、「文字列い」、「文字列う」)を指定し、 一括で置換できるツールもしくは方法をご存じの方はお教えいただけないでしょうか? ツールの場合、置換候補をCSVファイルなどで一気に指定できればなお良しです。 よろしくお願いします。

  • 正規表現でエスケープ文字の置換

    正規表現でエスケープ文字( 等)を別の文字列に置換しようと思い、「/&.+;/」というパターンを作成したのですが、エスケープ文字が連続する場合( <)1文字に置換されてしまいます。 正規表現をご存知の方、ご教授ください。

  • エクセルの置換について

    セルに次のような数式が入っているときに数式の部分だけ置換する方法がありましたらご指導お願いします。 [B1] =SUM(A1+A2) →置換後 =A1+A2 [B2] =SUM(A10+A20) →置換後 =A10+A20 [B3] =SUM(A100+A200) →置換後 =A100+A200 置換する方法は「編集」-「置換」で 検索する文字列と置換後の文字列が分かりません。 SUM(で置換をかけると数式エラーで置換が出来ず SUM(*)で置換をかけると当然ですが全て消えます。 お手数ですが宜しくお願致します。

  • エクセルで特定のパターンの文字列を置換

    大量の文字列が入力されたスプレッドシートがあります。 この文字列の中に、特定のパターンの文字列が散在しています。 ここでは例として、 #○○▲××$ とします。 「○○」と「××」は任意の文字列で、「#」「▲」「$」が特定文字列です(エスケープみたいなものですね)。 ここで以下のような置換を行いたいと思っています。 #○○▲××$ ↓ ××(○○) 「○○」と「××」は多種多様なので、単なる置換機能では対応できません(一個一個やっていけば別ですが、現実的ではないので……)。 こういった置換を一気に行うよい方法があればご教示頂きたく思います。 よろしくお願い申し上げます。

  • エクセル 複数の置換

    おはようございます。たとえば、以下の画像のようにアルファベットが並んでいたとします。そのうち、AとBとCの3つをFに置換したいとすればどのようにすればいいのでしょうか。検索と選択→置換→検索する文字列→A→置換後の文字列→F これを同じようにBもCもすればできますが、大量の検索する文字がある場合、一つ一つ打っていくのがたいへんなのですが何かいい方法はありますか。ご回答よろしくお願いします。

  • Javascriptで特殊文字を置換する方法

    表題の件で分からず教えてください。 PerlでHTMLとJavascript(HTML埋め込み)を作成しています。 Javascript(On Click)で、文字列を置換させたいのですが、うまくできません。 (最終的にやりたいことはTextAreaに埋め込んだタグ付き文章を「プレビューする」ようなイメージです) ■置換前の文字列 $body$ ■置換後の文字列 任意の文字列(タグを含む) ネットで調べたところ次の方法でできるようだったので試しましたが、できませんでした。 var rgexp = new RegExp("\$body\$", "g"); str = frm.preview.value.replace(rgexp, "■■■"); 「$」とエスケープ文字をはずすとうまくいくので、多分「$」で失敗しているのだと思いますが 解決が分かりません。 ※エスケープをはずすとPerlの出力時に怒られてしまいます お分かりになる方いらっしゃいましたらお願いします。

  • 正規表現で置換

    正規表現の初心者です。 テキストエディタを使って、「@:」で始まる以外の行の先頭に「//」を挿入してコメントアウトしたいのですが、正規表現がうまく書けません。 検索対象: ^[^(@:)] 置換文字列: // でいいのかなと思ったのですが、[]の中ではグルーピング用の()も文字として認識されてしまうのですね。 どのように書いたら正しく置換されるでしょうか。 どうかご教示ください。

  • エクセルの複数同時置換

    エクセルで文字列を同時に複数置換することって出来ますか? たとえば、ABCという文字列があった場合、 A→1 C→2 の置換を同時にやりたいんです。 ABC→1B2 に一度に置換する方法はありますか? よろしくお願いします。

専門家に質問してみよう