.NET TIPS

文字列配列内の文字列を連結するには?

デジタルアドバンテージ 遠藤 孝信
2005/10/21

 文字列配列に格納されている各文字列を連結して1つの文字列を作成するには、Stringクラス(System名前空間)の静的メソッドであるJoinメソッドを使用する。

 Joinメソッドでは、第1パラメータに「区切り文字列」を、第2パラメータに対象となる文字列配列を指定する。

result = String.Join(区切り文字列, 文字列配列)

 区切り文字列は文字列を連結する際に各要素間に挿入される文字列である。区切り文字列が不要な場合には、空文字列("")あるいはnull(VB.NETの場合はNothing)を指定すればよい。

 以下にJoinメソッドを使用したサンプル・プログラムを示す。

// join.cs

using System;

public class JoinTest {
  static void Main() {
    string result;
    string[] data = {"リンゴ", "みかん", "バナナ"};

    result = String.Join(",", data);
    Console.WriteLine(result);
    // 出力:リンゴ,みかん,バナナ

    result = String.Join("", data);
    Console.WriteLine(result);
    // 出力:リンゴみかんバナナ

    result = String.Join(null, data);
    Console.WriteLine(result);
    // 出力:リンゴみかんバナナ
  }
}

// コンパイル方法:csc join.cs
Joinメソッドを使用したC#のサンプル・プログラム(join.cs)
 
' join.vb

Imports System
Imports Microsoft.VisualBasic

Public Class JoinTest
  Shared Sub Main()
    Dim result As String
    Dim data As String() = {"リンゴ", "みかん", "バナナ"}

    result = String.Join(",", data)
    Console.WriteLine(result)
    ' 出力:リンゴ,みかん,バナナ

    result = String.Join("", data)
    Console.WriteLine(result)
    ' 出力:リンゴみかんバナナ

    result = String.Join(Nothing, data)
    Console.WriteLine(result)
    ' 出力:リンゴみかんバナナ

    '''''''''''''''''''''''''''''''''''''''''
    result = Join(data) ' 区切り文字省略
    Console.WriteLine(result)
    ' 出力:リンゴ みかん バナナ

    Dim data2 As Object() = {123, Math.PI, DateTime.Now}

    result = Join(data2, "/") ' Object型配列の連結
    Console.WriteLine(result)
    ' 出力:123/3.14159265358979/2005/10/19 14:13:26

  End Sub
End Class

' コンパイル方法:vbc join.vb
Joinメソッドを使用したVB.NETのサンプル・プログラム(join.vb)

 VB.NETにはJoinメソッドと同じ用途のJoin関数(Microsoft.VisualBasic名前空間)が用意されており、上記VB.NET版サンプル・プログラムの最後の2つの例はこれを使用している。

 VB.NETのJoin関数では区切り文字列の指定を省略でき、省略した場合には区切り文字列として半角スペースが使用される。また、対象となる配列は文字列配列でなくてもよく、整数型やDouble型、日付型(DateTime型)などの基本的な型がサポートされている。End of Article

カテゴリ:クラス・ライブラリ 処理対象:文字列
使用ライブラリ:Stringクラス(System名前空間)
使用ライブラリ:Join関数(Microsoft.VisualBasic名前空間)

この記事と関連性の高い別の.NET TIPS
文字と文字列を変換するには?
文字列を文字列により分割するには?(VB.NET関数活用)
文字列から特定の文字列を取り除くには?
パス文字列からファイル名部分を取り出すには?
パス文字列からディレクトリ・パス部分を取り出すには?
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「.NET TIPS」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)
- PR -

注目のテーマ

Insider.NET 記事ランキング

本日 月間
ソリューションFLASH