😺

いろんな方法で文字列結合【VSCode・エクセル・生成AI・Python】

に公開

概要

文字列の結合(連結)は、作業を効率化するうえで非常に便利な操作です。
たとえば以下のような場面で役立ちます。

  • メールで使用するための氏名を一括で生成する
  • テスト用の大量のURLを作成し、それらすべての動作確認を行う

現在では、さまざまなツールで文字列の結合が可能です。
この記事では、それぞれのツールで「氏名の結合」を試し、使ってみた感想を記載しています。

氏名のサンプルデータ

龍野 薩摩
八雲 すずか
竜崎 凪人
風見 あおい
闇田海 幻夜

GPTに現実上存在しない氏名を生成してもらいました。
現在は「氏」と「名」のデータのみを保持しているため、各ツールで氏名を生成してみます。

各ツールでの操作

エクセルで文字列結合

  1. サンプルデータをコピーしてエクセルに貼り付け
  2. 氏と名を連結する式を入力する
  3. 同じ式をコピーして貼り付けすれば、氏名が生成できました

思ったこと

エクセルは最大約104万行まで対応可能です。それを超えると1シートでは対応できませんが、実際の業務でそのような規模のデータを扱うことは稀であり、実用上の制限はほとんど感じませんでした。

VSCodeで文字列結合(マルチカーソル)

  1. サンプルデータをコピーしてVSCodeに貼り付け
  2. 氏の用意
    1. マルチカーソルを各行に展開(Alt+Ctrl+↓ or Alt+Shift+クリック)
    2. 氏の末尾へマルチカーソルを移動(Shift+End or Shift+Ctrl+Fn+→)
      ※この操作で欲しい範囲だけ選択できる!!
    3. 氏をコピーして別ファイルに貼り付け
  3. 名の用意
    1. 氏と同様にマルチカーソルを展開して名前をコピー
  4. 氏と名の結合
    5. 氏にマルチカーソルを展開
    5. 氏の後ろにマルチカーソルを移動(End or Ctrl+Fn+→)

    7. コピーした名を貼り付け

思ったこと

今回のように「氏名がすでに1行に並んでいる」ケースでは、置換操作でも対応可能です。
結合というよりは整形に近い作業ですが、マルチカーソルよりよく使います。

VSCodeで文字列結合(置換)

  1. サンプルデータをコピーしてVSCodeに貼り付け
  2. 不要文字を検索(Ctrl+F)
  3. 無で置き換え

思ったこと

文字列結合とは違う操作ですが、今回はすでに一行の中に苗字と名前があったため、置換でも対応できます。

生成AI(ChatGPT)で文字列結合(チャット)

  1. サンプルデータをコピーしてGPTのチャットに貼り付けすれば、氏名が生成できました

思ったこと

シンプルなチャットでは約1000行程度まで処理可能でしたが、出力に時間がかかる点や、入力制限(トークン数)に注意が必要です。大量のデータには不向きと感じました。

生成AI(ChatGPT)で文字列結合(ファイル)

  1. サンプルデータ(ファイル)をコピーしてGPTのチャットに貼り付け
  2. 生成されたファイルをダウンロードすれば、氏名の生成を確認できました
    ※生成AIには不向きだと思っていた大量データ処理が可能になっている!!

思ったこと

データをファイルで送受信する場合、50000行のデータでも対応できました。生成AIにデータ処理をさせる場合はファイルで扱うと良さそうです。

Pythonで文字列結合

  1. サンプルデータをコピーしてスクリプトに貼り付け
  2. スクリプトを記載して実行

思ったこと

複雑な処理を行いたい場合は、Pythonなどのスクリプトが最も柔軟です。
また、スクリプトそのものも生成AIを活用して作成できるため、作業効率の向上が期待できます。

作業を通じて得た学び

今回、さまざまなツールを使って、文字列の結合を行ってみました。
VSCodeのマルチカーソルでは、最初不要な部分も選択して操作する方法を記載していたのですが、調べて「必要な範囲だけを選択」できる便利な方法があることが分かり、実施手順を差し替えました。
また、生成AIは、大量のデータの処理には不向きだと思っていましたが、ファイル送信機能を使えば十分に対応可能になっていました。(生成AIはデータ処理時にスクリプトを動かすように変わったのかな?と聞いたらそうだと答えました)

以上、参考になれば幸いです。

Discussion