• 締切済み

文字列の操作、置換

下記、※1注文番号の上に×××△△△等の文字列を2行にわたって、※2の 様に貼り付けし、余計な部分は削除する作業を一括で行いたいのですが、 何かいい方法はありますでしょうか? エクセルや、何かいいフリーのソフトがないか調べて見ましたが、 ありませんでした。 ※1 ----------------------------------- 注文番号:○○○○○○○○○○ 数量 商品の詳細 ××× △△△ □□□ ----------------------------------- 注文番号:○○○○○○○○○○ 数量 商品の詳細 ×□× △□△ □□□ ----------------------------------- ※2 ----------------------------------- ××× △△△ 注文番号:○○○○○○○○○○ ----------------------------------- ×□× △□△ 注文番号:○○○○○○○○○○ -----------------------------------

みんなの回答

  • sholmes
  • ベストアンサー率81% (89/109)
回答No.1

Windowsのフツーなエディタは行指向なので、スクリプト言語の正規表現を複数行対象で使っちゃうのが手っ取り早いと思います。 例えばRubyだとこういう感じでしょうか https://ideone.com/Fyxci 元のサンプルで記載されたように、日本語且つ「数量 商品の詳細」の後にスペースがあったり無かったりだと、若干手直しは必要になりますが・・・イメージは掴んでもらえるかなと。

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

関連するQ&A

  • ACCESS、Excel、秀丸で文字列操作

    ACCESSのクエリ結果をExcelに貼り付ける時に、一部文字列の変換を したいと思ってます。 もともとのACCESSデータはテーブル上で半角英数字の12桁で、 それをExcelにコピーする際には4桁ごとにハイフンを入れます。 (例) ACCESS 1234567890ab ↓ Excel 1234-5678-90ab ちなみに、この項目は、空白の場合もあります。 で、今は、一度クエリ結果を秀丸に取り込んで、 ・空白行をダミー文字列(999999999999)に置換 ・記録機能で(右に4つ移動、-、右に4つ移動、-、次行へ)  とやって、それを最終行まで再生 ・ダミー文字列(9999-9999-9999)を削除 ということをやって、Excelに貼り付けとしています。 結構面倒なので、もう少しスマートなやり方がないかと思っているの ですが、ACCESS、Excel、秀丸、どれでもいいので、 もしくは、他のフリーソフトできれいにやる方法を教えてください。

  • エクセル 関数式内の文字列置換

    エクセルで 関数式内に入力されている文字列を置換する事は可能でしょうか。 具体的には、C列の1行目~数百行に =hyperlink("\\○○○\×××\△△△",d1)と入っている式で、×××を◎◎◎に一括で置換したいのですが。 よろしくお願いいたします。

  • PowerShellでの文字列置換ができない

    PowerShellで「\」を含む文字列が変換できません。たぶん正規表現とかで問題があると思うのですが・・・ あとテキストファイル内の文字列置換で指定された文字列がある行があった場合、その行を削除するといったことは出来るのでしょうか? 詳しい方いらっしゃいましたらよろしくお願いいたします。 <テキスト> BBBB AAAA NNNN AAAAあああA NNNN AAAA <検索文字列> あああ ※行内に「あああ」をみつけたらその行を丸ごと削除したい・・・

  • 文字列が同じであれば一つを残して行削除したい

    エクセルでいろいろな単語が入ったリストから同じ文字列を探し、同じものがあったら一つを残して行を削除するいい方法はないでしょうか? 1 AAA 2 BBB 3 CCC 4 AAA とあったら、1を残して4を行削除(又はその逆でも可) というようなものです。昇順に並べ替えて地道に探しながら手作業で削除しています。いいほうほうがあればと思い載せました。よろしくお願いいたします。

  • Excel2016で文字列の一括置換を行うVBA

    Excel中級者です。Windows10, Excel2016で、別の「マスタ」シートにある表に従い、「Data」シートにある文字列を一括置換するVBAを教えていただけますと幸いです。マスタ表は2列 100行で1列目に置換前の語、2列目に置換後の語があります。dataシートは1顧客1行で、20列に商品名が入っており、同シートで一括置換を実行したく存じます。どうぞよろしくお願い申し上げます。

  • 特定の列に特定の文字があるとき

    VBAについてです。 たとえば、エクセルのA列に「あいうえお」という文字があったとき その行を削除したいという場合 素人ながらVBAを真似てみたら、A列以外のところに「あいうえお」が 入っている行も削除されてしまいました。 あくまでA列にその文字があったときにだけ削除したいのですが どのようにしたらいいのでしょうか。 InputBoxを使っていたら、どの列に文字が入っていても 削除されてしまい困っています。

  • {0>と<0}ではさまれた文字列の置換

    Word文書中で、記号{0>と<0}にはさまれた1文字以上の文字列を、これらの記号も含めて半角スーペスに一括置換する方法を教えてください。Wordのバージョンは、2003です。たとえば、 私の名{0>前は山<0}田太郎です。 上記の文なら、置換後は下記のようになって欲しいのです。 私の名 田太郎です。 なお、{0>と<0}の記号自体は置換できないが、はさまれた文字列をスペースに変換することならできる、という回答でも歓迎いたします。つまり、 下記のようになります。 私の名{0> <0}田太郎です。

  • Excelで不特定の文字列を削除したいのですが可能

    Excelで不特定の文字列を削除したいのですが可能でしょうか? たとえば 何行にも渡り下記のような文字列がある場合、 0.4331"直径 x 0.9843"厚さ / 11 直径 x 2.5 厚さ[mm] 0.9252"直径 x 0.1378"厚さ / 23.5 直径 x 3.5 厚さ[mm] 右側の式の直径の前の数字だけ残し、他は削除し、 1行目の場合は 11 だけを 2行目の場合は 23.5 だけを また、別に右側の式の厚さ[mm]の前の数字だけ残し、他は削除し、 1行目の場合は 2.5 だけを 2行目の場合は 3.5 だけを 残したいのです。 結果的に下記のような表を作りたいのです。 ---------------------------    列A  |   列B    |   ---------------------------    11   |    2.5    |   ---------------------------    23.5  |   3.5    |   --------------------------- 簡単にする方法はありませんでしょうか? Excel初心者です。よろしくお願いします。

  • エクセルの操作・・ひとつでも分かれば教えて

    現在エクセル2003で表の操作をしています。 数点困っているのですが、ひとつでも結構ですので、お分かりの方がいらっしゃったら教えていただけないでしょうか? 1)セル内にAlt+Enterを使って複数行のデータが入っています。   これに段落番号を付けたい 2)3列分のデータを列挿入しながら連続して複数回貼り付けを行いたい 3)ひとつの行の高さを文字列が入っている以上に高くしたいのですが、どうしても文字列のあるところまでしか高さを広げられません。行の高さには制限があるのでしょうか? 困っています。どなたか教えてください

  • 文字列操作についてもう一つ教えてください

    No.825262でエクセルの文字列操作について質問させていただいた者ですが、もう一つ教えていただきたいことがあります。 ある行のデータは、半角で最大30文字です。 実際に入力されているデータの文字数はまちまちなのすが、30文字に満たない部分を*で埋めるようにしたいのですが可能でしょうか。 例 123456789012345678901234567890 1234567890123456789012345678** よろしくお願いいたします。