• ベストアンサー

正規表現、指定文字列に連番追加

正規表現で指定文字列に連番を追加するにはどうしたらいいでしょうか ●対象データ test あああ test いいい test ~省略~ test ●希望するデータ test_01.jpg あああ test_02.jpg いいい test_03.jpg ~省略~ test_21.jpg 自分なりに調べてみたのですが…分かりませんでした。 もし難しくなってしまう場合は頭の0は省略しても問題ありません。 (test_01→test_1) お答えいただけると助かります、 どうかよろしくお願いたします。

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

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4851/10265)
回答No.2

>正規表現以外でも何か具体的な方法等ございましたら教えていただけると助かります。 「正規表現では出来ない」とは書いてません。「正規表現だけでは出来ない」のです。 正規表現+何らかのプログラミング言語。今回は置換対象が単純な文字列なので正規表現を使わなくても出来ますが。 例えば、Rubyなら、 n=0 open("out.txt","w") do |outfile| IO.foreach("in.txt") do |line| line.sub!(/^test$/){ "test_%02d.jpg"%(n+=1) } outfile.puts line end end

ayakawa2
質問者

お礼

ありがとうございます、無事実行できました。 おかげさまで作業効率がかなり上がりました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • notnot
  • ベストアンサー率47% (4851/10265)
回答No.1

正規表現だけでは文字列の変更は出来ません。 何らかのプログラミング言語で関数・メソッドなどを使うことになります。

ayakawa2
質問者

お礼

ご返答ありがとうございます。 そうですか…置換でなんとかなるかと思ってました。 正規表現以外でも何か具体的な方法等ございましたら教えていただけると助かります。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 正規表現でマッチさせたい文字列の指定方法

    正規表現でマッチさせたい文字列の指定方法について こんにちは。正規表現について教えてください。 秀丸エディタでgrepする時に先頭行に 『ファイル名(行数): 』という文字列が 先頭行に入りますが、これを正規表現を使用して消したいと思っています。 具体的には以下のような表現ですが、どのように指定するのが正しいでしょうか。 いくらかテストしているのですが、なかなかうまくできず困っています。 消したい文字列 test.log-110411-01.bak.text(38): よろしくお願いします

  • 正規表現についての質問

    正規表現を使って、文字列を抜き出したいのですがどうすればよいでしょうか? 対象となる文字列→<ここは文章>##あいうえお[1]:"test.jpg"##<ここは文章> 抜き出したい文字例→##あいうえお[1]:"test.jpg"## の##で囲まれた箇所です。 正規表現ど素人なため、どなたかご教授くださいm(_)m

    • ベストアンサー
    • PHP
  • 特定の文字列に""を追加する正規表現を教えてください。

    特定の文字列に""を追加する正規表現を教えてください。 置換前 ID=○○○○ 置換後 ID="○○○○" とするにはどうすればよいのでしょうか? 正規表現というものを最近知ったのですが、どうしたものか全然わかりません…。 よろしくお願いいたします。

  • 正規表現:囲われた文字列の置換

    シングルクオーテーションで囲われた文字列のシングルクオーテーションの前に文字を追加するように、正規表現を用いて置換しようと考えています。 全角文字は[^\x01-\x7E]で検索できるのはわかったのですが、シングルクオーテーションで囲われて、全角文字を含む場合という表現ができません。 下記のような、文字列を対象としています。置換をするのは、全角文字を含む文字列のみです。  全角文字のみ  半角文字のみ  全角半角文字両方 下記ののように置換したいです。 置換前: '全角文字や半角文字','testです','test'.'テスト'.'てすとtest','123' 置換後: A'全角文字や半角文字',A'testです','test'.A'テスト'.A'てすとtest','123' よろしくお願いします。

  • 正規表現についての質問

    正規表現についての質問です。 どのようにすればいいのか分からずで困っております。 (1) ##画像ファイル:"test.jpg"## という文字列の場合は、test.jpgに置換 (2) ##画像ファイル:"test.jpg":"aiueo.jpg"## という文字列の場合は、 aiueo.jpg 上記を満たす、正規表現での記述方法をどなたかご教授頂けないでしょうか。

    • 締切済み
    • PHP
  • 正規表現置換を使った文字の追加

    正規表現置換を使った文字の追加 エクセル2007でcsvファイルを開き、htmlタグが記載されたデータの一部に文字を追加したいと思ってます。 ●検索する値 <p class='test'>*</p> ●置き換え後 <p class='test'>*</p><!--end test--> *は全角文字、英数字、htmlタグなどが入り交じります。 *の部分は変更せず、「<p class='test'>」から始まるhtmlタグの「</p>」の後ろに「<!--end test-->」を追加したいだけなんですが、どのようにすればいいのでしょうか。 エクセルには正規表現検索のアドインをインストールしてるので、正規表現を利用することができる状態です。 よろしくお願いいたします。

  • 正規表現で、ある文字を含まない文字列のチェック方法について

    正規表現で、ある文字(対象は複数)を含まない文字列をチェックしたいのですが、どうもうまくいかないので相談させて頂きます。 チェック対象文字(例:壱、拾、A、Z) 上記の文字以外のチェックは、 [^壱拾AZ]となるかと思いますが、 チェック対象文字を含まない文字列をチェックするためには、 どのような正規表現としたらよいのでしょうか? ご教授の程、よろしくお願い致します。

  • 「指定文字列を含まない行」を指定する正規表現

    正規表現で指定した文字列を"含まない"行を指定する方法はありますでしょうか。 例えば、 ABDDDDG ABEEEEG ABFFFFG ABXXXXG ABHHHHG とある場合、「XXXX」を含まない行、という指定をして他の4行を指定したいのです。

  • 正規表現を使った文字列の抽出方法について

    正規表現を使った文字列の抽出方法について RHELを使っています。 テキストデータの中に、以下のようなデータが 百万行単位で並んでいます。(カンマ区切り、2列構成) 1, 1.24425 2, 3.25252 (中略) 13, 6.25365 14, 8,36222 (中略) 103633, 252525.0 最終的にやりたいことは2列目のデータのみの抽出です。 考え方として、正規表現で 「<任意の文字列の連続><カンマ>」という文字列を認識させ、 それを「空欄」で置換したいと考えています。 文字列の最後の文字をマッチさせる指定子が「$」という情報をWebで見つけたので まず、grepで見つけられるか以下のようにやってみたのですが、 grep -i ",$" test.txt $が環境変数と取られ、構文エラーとなってしまいます。 使い方がおかしいのでしょうか? ちなみに、うすうす感じている疑問として、「$」は文末にくるものしかマッチしなかったり しますでしょうか? カンマ区切りなので、表計算ソフトを使えなくもないですが、 行数がExcel2007の限界をよく超えるので、それ以外の方法で考えています。 アドバイスよろしくお願いいたします。

  • 文字列を含まないという正規表現は?

    お世話になります。 例えば、文字「a」を含まないという正規表現は、 "[^a]" となりますが、文字列「abc」を含まないという正規表現はどうなりますでしょうか? "[^abc]" ではだめでしたし、 "[^(abc)]" でもだめでした。 また、改行などの制御文字を含めたどんな文字でもいいという正規表現はどうなりますでしょうか? ".*" では改行などが含まれるときはだめでした。 どうかご教授のほどよろしくお願い致します。 次のサイトは参考にしたサイトです。 正規表現の解説 目次 http://www4.ocn.ne.jp/~kaerume/k2e/regex_top.html#mnu_top