【C#エクセル】文字列を 比較・判定・検索・抽出・変換・連結・分割

当ページのリンクには広告が含まれています。

スポンサーリンク

C#での文字列操作をまとめます

クリックしてジャンプ

比較:大文字 小文字 区別無し

using System;
using System.Globalization;
private void 文字列比較_大文字小文字区別無し() {
  
  var st1 = "EXCEL"; // 大文字の文字列
  var st2 = "excel"; // 小文字の文字列
  
  if (String.Compare(st1,st2,ignoreCase:true) == 0) {
    // 文字列が一致した場合
  }
}

比較:ひらがな カタカナ 区別無し

using System;
using System.Globalization;
private void 文字列比較_ひらがなカタカナ区別無し() {
         
  var st1 = "エクセル"; // カタカナの文字列
  var st2 = "えくせる"; // ひらがなの文字列  
  var cultureInfo = new CultureInfo("ja-JP");
​
  if (String.Compare(st1, st2, cultureInfo, CompareOptions.IgnoreKanaType) == 0) {
    // 文字列が一致した場合 
  }
}

比較:全角 半角 区別無し

using System;
using System.Globalization;
private void 文字列比較_全角半角区別無し() {
       
  var st1 = "エクセル"; // 半角の文字列
  var st2 = "エクセル"; // 全角の文字列
  var cultureInfo = new CultureInfo("ja-JP");
​
  if (String.Compare(st1, st2, cultureInfo, CompareOptions.IgnoreWidth) == 0) {
    // 文字列が一致した場合
  } 
}

判定:「null」か「空文字」か

using System;
private void 文字列判定_nullか空文字() {
         
  var st = "";
  
  if (string.IsNullOrEmpty(st)) {
    // 文字列が null か 空文字 の場合
    // 空白文字列("  ")は含まない
  }
}

判定:「null」か「空文字」か「空白文字列」か

using System;
private void 文字列判定_nullか空文字か空白文字列か() {
         
  var st = "     ";
  
  if (string.IsNullOrWhiteSpace(st)){
    // 文字列が null か 空文字 か 空白文字列("  ")の場合
  } 
}

判定:指定した文字列で 始まって いる

using System;
private void 文字列判定_指定した文字列で始まっている() {
       
  var st = "エクセル";
  
  if (st.StartsWith("エク")) {
    // 指定文字列で始まってる場合
  }
}

判定:指定した文字列で 終わって いる

using System;
private void 文字列判定_指定した文字列で終わっている() {
  
  var st = "エクセル";
  
  if (st.EndsWith("セル")) {
    // 指定文字列で終わっている場合
  } 
}

判定:指定した文字列が 含まれて いる

using System;
private void 文字列判定_指定した文字列が含まれている() {
       
  var st = "エクセル";
   
  if (st.Contains("クセ")) {   
    // 指定文字列が含まれている場合
  }
}

検索抽出:指定した文字列の位置を調べる

using System;
private void 文字列判定_指定した文字列の位置() {
       
  var st = "エクセル";
​
  var index = st.IndexOf("セル");
  // ↑index には「 2 」が入る
  // 文字列が存在しない場合は「 -1 」が入る    
  // 検索条件が「""」の場合は「 0 」が入る
  
  // IndexOf メソッド:引数で指定した文字列が最初に見つかった位置(0から始まる)を返す
  // SubString / Remove / Insert のような 引数に インデックスを使う メソッドに利用する
}

検索抽出:文字列の一部を取り出す

using System;
private void 文字列検索抽出_文字列の一部を取り出す() {
       
  var st = "エクセル=えくせる;EXCEL=excel";
  var target = "エクセル=";
  
  var startIndex = st.IndexOf(target) + target.Length;
  // ↑の場合 startIndex には「 5(0 + 5) 」が入る
  
  var endIndex = st.IndexOf(";",startIndex); // 検索は startIndex の位置から開始される  
  // ↑の場合 endIndex には「 9 」が入る
​
  var output = st.Substring(startIndex,endIndex - startIndex);  
  // ↑ output には "えくせる" が入る
  // SubString メソッド:指定した位置から、指定した位置まで を取り出す
}

変換:前後の空白を消す

using System;
private void 文字列変換_前後の空白を消す() {
  
  var target = "   エクセル   ";
  
  var replaced = target.Trim();
  // replaced には "エクセル" が入る
}

変換:別の文字を挿入

using System;
private void 文字列変換_別の文字を挿入() {
  
  var target = "エル";
  
  var replaced = target.Insert(1,"クセ");
 // replaced には "エクセル" が入る
}

変換:別の文字に置換

using System;
private void 文字列変換_別の文字に置き換え() {
​
  var target = "エグザイル";
  
  var replaced = target.Replace("グザイ","クセ");
 // replaced には "エクセル" が入る
}

変換:小文字 を 大文字

using System;
private void 文字列変換_小文字を大文字() {
  
  var target = "excel";
  
  var replaced = target.ToUpper();
  // replaced には "EXCEL" が入る 
}

変換:大文字 を 小文字

using System;
private void 文字列変換_大文字を小文字() {
  
  var target = "EXCEL";
  
  var replaced = target.ToLower();
  // replaced には "excel" が入る
}

連結分割:指定した文字で 連結

using System;
private void 文字列連結分割_指定した文字で連結() {
        
  var words = new[] { "エクセル","えくせる","EXCEL","excel" };
  
  var text = String.Join("★", words);
 // text には "エクセル★えくせる★EXCL★excel" が入る
}

連結分割:指定した文字で 分割

using System;
private void 文字列連結分割_指定した文字で分割() {
  
  var text = "エクセル★えくせる★EXCEL★excel";
  
  string[] words = text.Split('★');
  // words[] には [エクセル, えくせる, EXCEL, excel] が入る
}

スポンサーリンク

クリックしてジャンプ