• 締切済み

perl シングルコーテーションを含んだ文字編集

active perl(アクティブパール)で 以下の文字列編集を行いたいのですが、 シングルコーテーションの編集で上手く出来ずに困っています。 どなたか経験豊富な方、良いコーディング方法があれば ご教授下さい。 やりたい事としては、 文字列 aaaaaa bbbbbb cccccc dddddd といった内容を 取り込んで 'aaaaaa','bbbbbb','cccccc','dddddd' といった文字列の出力を行います。 上記の例では文字はddddddまでですが、 場合により bbbbbbまでたったりといった感じで 変換前の文字の行数は可変で、2行でも3行でも4行でも、 各行の文字をシングルコートで囲って、カンマでつなげた文字列を出力します。 上記の仕様内容で、こうすれば出来る! といったサンプルコードを教えていただけると助かります。

  • swep
  • お礼率14% (2/14)
  • Perl
  • 回答数3
  • ありがとう数1

みんなの回答

  • pick52
  • ベストアンサー率35% (166/466)
回答No.3

スカラー変数からならこうしてはどうでしょうか。 my $str = <<'TEXT'; aaaaaa bbbbbb cccccc dddddd TEXT print join(',', map {"'$_'"} split(/\n/, $str));

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

全くテストしてないけど chomp (my @lines = <>); print join(',', map {qq{'$_'}}, @lines), "\n"; とか.

swep
質問者

補足

回答ありがとうございます。 明日職場で試してみます。

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.1

#!/usr/bin/perl use strict; use warnings; use feature ':5.10'; undef $/; my $data = <DATA>; say q{'}, join(q{','}, split("\n", $data)), q{'}; __END__ aaaaaa bbbbbb cccccc dddddd 実行結果: 'aaaaaa','bbbbbb','cccccc','dddddd' >ご教授下さい。 ×教授 ○教示

swep
質問者

補足

こちらも回答ありがとうございます。 明日職場で試してみます。 (「ご教示」の指摘もありがとうございます。 OTNのサイトでは大喜びしてたくさんの指摘を もらえそうなネタを提供してしまいました(笑))

関連するQ&A

  • 文字列の並べ替え

    以下のようなテキストがあります。 AAAAAA BBBBBB CCCCCC DDDDDD CCCCCC BBBBBB BBBBBB DDDDDD AAAAAA これを↓のように横軸で並べ替えたいのです。 AAAAAA BBBBBB CCCCCC BBBBBB CCCCCC DDDDDD AAAAAA BBBBBB DDDDDD 使えるツールとしてはGoogleスプレッドシートです。 なにかいい手順はないでしょうか。

  • エクセル/行選択の仕方を教えてください。

    はじめまして。 エクセルで、3行ごとに選択し、選んだ情報を列に移す作業をしたいのですが 1800行あり手で選択するのが大変です。 行いたい作業は以下の通りです。 A列 AAAAAA BBBBBB CCCCCC AAAAAA BBBBBB CCCCCC AAAAAA BBBBBB CCCCCC AAAAAA ↓ A列 B列 C列 AAAAAA BBBBBB CCCCCC AAAAAA BBBBBB CCCCCC AAAAAA BBBBBB CCCCCC 一行一行選択して列に移すのではなく選択できる方法がありましたら 是非ご教授ください。 よろしくお願いいたします。

  • 複数行にわたる処理

    こんばんは。perl初心者です。 どうしてもわからないので、どうかアドバイスよろしくお願いします。 一つのファイルに、以下のような3行で一組の塊がある場合、 <line_a>: aaaaaa <line_b>: BBBBBB <line_c>: cccccc <line_a>: aaaaaa <line_b>: bbbbbb <line_c>: cccccc ... <line_b>の行に文字列"BBBBBB"が含まれていたら、<line_a>の内容を"aaaaaa"から"AAAAAA"に置換してファイルを上書きしたいのですが、 どうやったらいいのでしょうか・・・。

    • ベストアンサー
    • Perl
  • perlプログラム 外部複数ファイルの読み込み処理について

    perlプログラム 外部複数ファイルの読み込み処理について あるフォルダに T0001_05_01,T0001_05_02,T0001_05_03,…,T0001_05_31 という31個のファイルがあります。 それぞれのファイルは 下記のような 形式で記述されております。 (例 T0001_05_01のファイルの中身) 2010-05-01 00:00:00.000 N00001 AAAAAA 2010-05-01 00:00:00.108 N00018 BBBBBB 2010-05-01 00:00:10.305 N00002 AAAAAA 2010-05-01 01:00:10.966 N00008 CCCCCC … また、別のlist.txtに 下記のようなユニークなリストが入っております。 AAAAAA CCCCCC WWWWWW … このとき、list.txtの値が それぞれT0001_05_XXファイルの何行目に出力されているか 出力するperlプログラムを作成したい。 (出力結果イメージ:1ファイル化) T0001_05_01 1行目 2010-05-01 00:00:00.000 N00001 AAAAAA T0001_05_01 3行目 2010-05-01 00:00:10.305 N00002 AAAAAA … T0001_05_31 10行目 2010-05-31 03:00:00.999 N00400 AAAAAA T0001_05_01 4行目 2010-05-01 00:00:00.000 N00008 CCCCCC … perlプログラム知識がないものなので、このようなファイルの出力の仕方がわかりません。 教えていただけると助かります。

    • ベストアンサー
    • Perl
  • グループ毎に通番を付与して返すSQLを教えて下さい

    下記の「テーブル1」から、 テーブル1 商品名|価格 ------------ AAAAAA|1000 AAAAAA|1200 AAAAAA|1500 BBBBBB|2100 BBBBBB|2600 CCCCCC|2000 DDDDDD|3000 EEEEEE|6000 EEEEEE|6000 EEEEEE|7000 EEEEEE|7500 下記のように出力するにはどのようにSQLを書いたらいいでしょうか。 商品名|価格|通番 ------------------ AAAAAA|1000|1 AAAAAA|1200|2 AAAAAA|1500|3 BBBBBB|2100|1 BBBBBB|2600|2 CCCCCC|2000|1 DDDDDD|3000|1 EEEEEE|6000|1 EEEEEE|6000|2 EEEEEE|7000|3 EEEEEE|7500|4 要するに、「商品名」ごとに、「価格」で昇順にソートして「通番」をつけたいのです。 なお、上記「EEEEEE」には価格が6000のレコードが2つありますが、「通番」はそれぞれ1と2をふっています。 このように、価格が同じレコードがある場合にもカウントアップさせて通番を付与したいです。 ご回答よろしくお願い致します。

  • エクセルのオートフィルターにつきまして

    エクセルのことでお聞きしたいことがあります。 下のような、AAAやDDDについての説明がとなりの列に複数行表示されているようなデータを作りました。 AAA aaaaaa     bbbbbb     cccccc DDD dddddd     eeeeee     ffffff そこで、AAAやDDDが書いてある列からAAAだけを選択できるようにして、 AAA aaaaaa     bbbbbb     cccccc のように、AAAの説明のみが表示されるようにしたいのですが、オートフィルターを使ってもうまくいきませんでした。 どなたか、良い方法をご存知でしたら、教えてください。お願い致します。

  • エクセルのデータを一部抽出する方法をお教えください

    こんにちは。宜しくお願い致します。 エクセルのA列に以下の番号が入っています。  A  ――――――― 1|AAAAAA-01 2|AAAAAA-02 3|AAAAAA-03 4|BBBBBB-01 5|BBBBBB-02 6|BBBBBB-03 7|CCCCCC-01 8|CCCCCC-02 9|CCCCCC-03 10|・ 11|・ 12|・ 同じ番号にそれぞれ「-01」「-02」「-03」がついてしまっています。 この情報で、「-01」のみの行を抽出したいのですが、難しく考えてしまったせいか、上手く行きません。 エクセルにお詳しい方、方法を教えて下さい。 宜しくお願い致します。

  • シングルコーテーション(')とダブルコーテーション(")の入れ子について

    HTMLにおける、シングルコーテーション(')とダブルコーテーション(")の入れ子について教えてください。 例) document.write('<img src="http://xxxxx" onMouseOver="aaaaaa(#bbbb#)">'); 上記の#の部分は何を使えば良いですか? また、更に入れ子にする場合は、どのような感じになりますか?

    • ベストアンサー
    • HTML
  • ダブルクオーテーション、シングルクオーテーション

    プログラミング 「"」  と 「'」 の違いについて プログラミングにおいてダブルクオーテーションとシングルクオーテーションは双方、「コンピュータに文字列と認識させる」記号だと思うのですが、プログラミング言語問わず " と ' に文字列を表す以外の特別な意味を持つケースは何かありますか? (文字列を表す以外の意味はありますか?)

    • ベストアンサー
    • Java
  • シングルクォーテーションから後が消える!!

    PHP初心者です。 [php2.php]から[php1.php]のフォームの内容を読み取るとき、そのフォームのテキスト文字列の中にシングルクォーテーションが入っているとその後から文字が消えてしまいます。 ダブルコーテーションではうまくいくのですが。 解決方法をぜひご伝授ください。

    • ベストアンサー
    • PHP

専門家に質問してみよう