玄関へお回り下さい。
String クラスの文字列処理関係のメソッドその1 (12個)        (SNo.005)
Chars     このインスタンス内の指定した文字位置の文字を取得します。
Compare    指定した 2 つの String オブジェクトを比較します。
Concat    1つ以上のインスタンス又はObjectの1つ以上のインスタンスのString形式の値を連結
Copy     指定した String と同じ値を使用して、 String の新しいインスタンスを作成します
EndsWith   このインスタンスの末尾が、指定した String と一致するかどうかを判断します。
Format       指定した String の各書式項目を、対応する値と等価のテキストに置換します。
IndexOf    指定した String がこのインスタンス内で最初に見つかった位置のインデックス返す
Insert    このインスタンス内の指定したインデックス位置に、指定した String を挿入します
Join     String配列の各要素間にある指定した区切り記号を連結し、単一の文字列を作成
LastIndexOf このインスタンス内で最後に出現する指定Unicode文字またはStringのインデックスを返す
Length    このインスタンスの文字数を取得します。
Remove    このインスタンス内の指定位置から指定した数の文字を削除します。
使用コントロール Button1 〜 Button12 
その他条件 WindowsXP(Vista) Visual Basic 2005(VB2008)
 
String.Chars プロパティ

Private Sub Button1_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) Handles Button1.Click
'String.Chars プロパティ    [名前空間: System]
    'このインスタンス内の指定した文字位置の文字を取得します。
    Dim s As String = "ABCあいう"
    Debug.WriteLine(s.Chars(3))     '結果 あ
    Debug.WriteLine(s.Chars(0))     '結果 A
End Sub

String.Compare メソッド

Private Sub Button2_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) Handles Button2.Click
'String.Compare メソッド    [名前空間: System]
   '指定した 2 つの String オブジェクトを比較します。
   'System.String.Compare(第1の比較文字列,第2の比較文字列)
   Debug.WriteLine(System.String.Compare("abc", "ABC"))    '結果  -1  小さい
   Debug.WriteLine(System.String.Compare("ABC", "abc"))    '結果  1  大きい
   Debug.WriteLine(System.String.Compare("ABC", "ABC"))    '結果  0 等しい

   'System.String.Compare(第1の比較文字列,第2の比較文字列, 
   '  大文字と小文字を区別して比較(False)するか、区別せずに比較(True)するかを示す Boolean)
   Debug.WriteLine(System.String.Compare("abc", "ABC", True))    '結果  0 等しい
   Debug.WriteLine(System.String.Compare("abc", "ABC", False))   '結果  -1  小さい

   'System.String.Compare(第1の比較文字列,第2の比較文字列, StringComparison)
   'StringComparison : StringComparison 列挙体を使用して、文字列比較で現在のカルチャと
   'インバリアント カルチャのどちらを使用するか、単語の並べ替え規則と序数の並べ替え規則の
   'どちらを使用するか、大文字小文字を区別するかどうかを指定します。
   'この列挙体は、.NET Framework version 2.0 で新しく追加されたものです。
 
'StringComparison 列挙体 は下記参照。

   '結果   32 (0 より大きい値) 第1の比較文字列 が 第2の比較文字列 より大きい。
   Debug.WriteLine(System.String.Compare("abc", "ABC", System.StringComparison.Ordinal))
   '結果  -32 (0 より小さい値) 第1の比較文字列 が 第2の比較文字列 より小さい。
   Debug.WriteLine(System.String.Compare("ABC", "abc", System.StringComparison.Ordinal))
   '結果    0 (0             ) 第1の比較文字列 と 第2の比較文字列 は等しい。
   
Debug.WriteLine(System.String.Compare("abc", "ABC", System.StringComparison.OrdinalIgnoreCase))
  '結果  0  小さい


   '上記の他、下記のような使用ができます。詳しくは、下記のリンクを参照願います。
   'ms-help://MS.VSExpressCC.v80/MS.NETFramework.v20.ja/cpref2/html/O_T_System_String_Compare.htm
   'String.Compare (String, String, Boolean, CultureInfo) 
   'String.Compare (String, Int32, String, Int32, Int32) 
   'String.Compare (String, Int32, String, Int32, Int32, Boolean)
   'String.Compare (String, Int32, String, Int32, Int32, StringComparison) 
   'String.Compare (String, Int32, String, Int32, Int32, Boolean, CultureInfo) 
End Sub

★ String.Concat メソッド

Private Sub Button3_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) Handles Button3.Click
'String.Concat メソッド     [名前空間: System]
   'String の 1 つ以上のインスタンス、または Object の 1 つ以上の
   'インスタンスの String 形式の値を連結します。
   Debug.WriteLine(System.String.Concat("abc", "DEF"))     '結果  abcDEF

   '上記の他、下記のような使用ができます。詳しくは、下記のリンクを参照願います。
   'ms-help://MS.VSExpressCC.v80/MS.NETFramework.v20.ja/cpref2/html/O_T_System_String_Concat.htm
   'String.Concat (Object)                            指定したオブジェクトの String 形式を作成します。 
   'String.Concat (Object[])                          指定した Object 配列の要素の String 形式を連結します。 
   'String.Concat (String[])                          指定した String 配列の要素を連結します。 
   'String.Concat (Object, Object)                    指定した 2 つのオブジェクトの String 形式を連結します。 
   'String.Concat (String, String)                    指定した 2 つの String インスタンスを連結します。 
   'String.Concat (Object, Object, Object)            指定した 3 つのオブジェクトの String 形式を連結します。 
   'String.Concat (String, String, String)            指定した 3 つの String インスタンスを連結します。 
   'String.Concat (Object, Object, Object, Object)    4 つの指定したオブジェクトと、オプションの
   '                                                   可変長パラメーター リストで指定した任意の
   '                                                   オブジェクトの String 表現を連結します。 
   'String.Concat (String, String, String, String)    指定した 4 つの String インスタンスを連結します。 


End Sub

★ String.Copy メソッド

Private Sub Button4_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) Handles Button4.Click
'String.Copy メソッド       [名前空間: System]
    '指定した String と同じ値を使用して、 String の新しいインスタンスを作成します。
    Dim str1 As String = "abc"
    Dim str2 As String = "xyz"
    str2 = System.String.Copy(str1)
    Debug.WriteLine(str2)   '結果  abc
End Sub

 String.EndsWith メソッド

Private Sub Button5_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) Handles Button5.Click
'String.EndsWith メソッド       [名前空間: System]
   'このインスタンスの末尾が、指定した String と一致するかどうかを判断します。
   'このインスタンスの末尾が value に一致する場合は true 。それ以外の場合は false 
   Dim MyPath As String
   MyPath = "c:\Test"
   If MyPath.EndsWith("\") = False Then
      MyPath &= "\"
   End If
   Debug.WriteLine(MyPath)     '結果  c:\Test\

   MyPath = "c:\"
   If MyPath.EndsWith("\") = False Then
      MyPath &= "\"
   End If
   Debug.WriteLine(MyPath)     '結果  c:\


    'String.EndsWith(String, この文字列とvalueとの比較方法を決定するいずれかの StringComparison 値)
    '比較オプションを使って比較した場合に、文字列の末尾が、指定された文字列と一致するかどうかを判断する

   'このメソッドは、.NET Framework version 2.0 で新しく追加されたものです。 
   'StringComparison 列挙体 は下記参照。
   Dim s As String = "BMP"
   Debug.WriteLine(s.EndsWith("bmp", StringComparison.OrdinalIgnoreCase)) '結果 True(等しい)

   '上記の他、下記のような使用ができます。詳しくは、下記のリンクを参照願います。
   'http://msdn2.microsoft.com/ja-jp/library/system.string.endswith(VS.80).aspx
   'String.EndsWith (String, Boolean, CultureInfo)  指定されたカルチャを使って比較した場合に、この文字列の
   '                                                末尾が、指定された文字列と一致するかどうかを判断します。

End Sub

★ String.Format メソッド

Private Sub Button6_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) Handles Button6.Click
'String.Format メソッド     [名前空間: System]
   '指定した String の各書式項目を、対応するオブジェクトの
   '値と等価のテキストに置換します。
   Dim s As Single = 123456.789
   Debug.WriteLine(System.String.Format("{0:0.0}", s))     '結果  123456.8
   Debug.WriteLine(System.String.Format("{0:0,0}", s))     '結果  123,457
   Debug.WriteLine(System.String.Format("{0:0,0.00}", s))  '結果  123,456.80
   Debug.WriteLine(System.String.Format("{0:d}  {1:t}", Now, Now)) '結果  2006/12/03 22:31

   '上記の他、色々使用できます。詳しくは、下記のリンクを参照願います。
   'http://msdn2.microsoft.com/ja-jp/library/system.string.format(VS.80).aspx
   'http://msdn2.microsoft.com/ja-jp/library/d9t40k6d(VS.80).aspx
End Sub

 String.IndexOf メソッド

Private Sub Button7_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) Handles Button7.Click
'String.IndexOf メソッド    [名前空間: System]
   '指定した String がこのインスタンス内で最初に見つかった位置のインデックスをレポートします
   'その文字列が見つかった場合は、 value のインデックス位置。見つからなかった場合は -1
   '大文字と小文字は区別します
   Dim s As String = "ABCあいうABCあいう"
   Debug.WriteLine(s.IndexOf("あい"))  '結果  3  (3文字目にあった)
   Debug.WriteLine(s.IndexOf("Ab"))    '結果  -1 (見つからない)
   Debug.WriteLine(s.IndexOf("AB"))    '結果  0 (最初の位置で見つかった)
   '最初に見つかった位置から再検索
   Dim s1 As String = "ABC"
   Debug.WriteLine(s.IndexOf(s1, s.IndexOf(s1) + s1.Length)) '結果  6

   'String.IndexOf メソッド (String, StringComparison) 
   'このメソッドは、.NET Framework version 2.0 で新しく追加されたものです。 
   '
StringComparison 列挙体 は下記参照。
   
Debug.WriteLine(s.IndexOf("bc", StringComparison.OrdinalIgnoreCase))    '結果  1 (1文字目にあった)
End Sub

 String.Insert メソッド

Private Sub Button8_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) Handles Button8.Click
    'String.Insert メソッド     [名前空間: System]
    'このインスタンス内の指定したインデックス位置に、
    '指定した String インスタンスを挿入します。
    Dim s As String = "ABCあいう"
    Debug.WriteLine(s.Insert(3, "123"))     '結果  ABC123あいう
End Sub

★ String.Join メソッド

Private Sub Button9_Click(ByVal sender As System.Object, _
                         
ByVal e As System.EventArgs) Handles Button9.Click
'String.Join メソッド   [名前空間: System]
   '指定した String 配列の各要素間にある指定した区切り記号 String を連結し、
   '連結された単一の文字列を作成します。
   Dim myData() As String = {"〒555-0011", "彦根市 城町 1-15", "草柳  強"}
   Dim strWk As String = String.Join(ControlChars.CrLf, myData)
   Debug.WriteLine(strWk)      '結果  〒555-0011
                                '       彦根市 城町 1-15
                                '       草柳  強

   'String.Join メソッド (String, String[], Int32, Int32) 
   '指定した String 配列の各要素間にある指定した区切り記号 String を連結し、連結された単一の
   '文字列を作成します。パラメーターには、最初の配列要素と、使用する要素の数を指定します。 
   'データ中の最初の要素から2個の要素をスペースで連結する
   strWk = String.Join(" ", myData, 0, 2)
   Debug.WriteLine(strWk)      '結果  〒555-0011 彦根市 城町 1-15
End Sub

String.LastIndexOf メソッド

Private Sub Button10_Click(ByVal sender As System.Object, _
                           ByVal e As System.EventArgs) Handles Button10.Click
'String.LastIndexOf メソッド    [名前空間: System]
   'このインスタンス内で最後に出現する指定 Unicode 文字または 
   'String のインデックス位置をレポートします。
   Dim str1 As String = "abc123ABC123"
   Debug.WriteLine(str1.LastIndexOf("1"))      '結果  9
   Debug.WriteLine(str1.LastIndexOf("c"))      '結果  2
   Debug.WriteLine(str1.LastIndexOf("C"))      '結果  8
   Debug.WriteLine(str1.LastIndexOf("あ"))     '結果  -1 (見つからない場合)
   Debug.WriteLine(str1.LastIndexOf("a"))      '結果  0

   'String.LastIndexOf メソッド (String, StringComparison) 
   '指定した文字列が現在の String オブジェクト内で最後に見つかった位置のインデックスを
   'レポートします。指定した文字列に使用する検索の種類を指定するパラメーター。 
   'このメソッドは、.NET Framework version 2.0 で新しく追加されたものです。 
   'StringComparison 列挙体 は下記参照。


   '比較対象の文字列の大文字と小文字の違いは無視して文字列を比較し検索する。
   
Debug.WriteLine(str1.LastIndexOf("c", System.StringComparison.OrdinalIgnoreCase))   '結果  8

End Sub

★ String.Length プロパティ

Private Sub Button11_Click(ByVal sender As System.Object, _
                           ByVal e As System.EventArgs) Handles Button11.Click
'String.Length プロパティ   [名前空間: System]
    'このインスタンスの文字数を取得します。
    Dim str1 As String = "123あいう"
    Debug.WriteLine(str1.Length)    '結果  6
End Sub

★ String.Remove メソッド

Private Sub Button12_Click(ByVal sender As System.Object, _
                           ByVal e As System.EventArgs) Handles Button12.Click
'String.Remove メソッド     [名前空間: System]
    'このインスタンス内の指定位置から指定した数の文字を削除します。
    Dim str1 As String = "abc123ABC123"
    Debug.WriteLine(str1.Remove(3, 3))      '結果  abcABC123
End Sub

StringComparison 列挙体

CurrentCulture               カルチャに依存した並べ替え規則および現在のカルチャを使用して
                             文字列を比較します。 

CurrentCultureIgnoreCase     カルチャに依存した並べ替え規則および現在のカルチャを使用し、
                             比較対象の文字列の大文字と小文字の違いは無視して文字列を比較します。 

InvariantCulture             カルチャに依存した並べ替え規則およびインバリアント カルチャを
                             使用して文字列を比較します。 

InvariantCultureIgnoreCase   カルチャに依存した並べ替え規則およびインバリアント カルチャを
                             使用し、比較対象の文字列の大文字と小文字の違いは無視して文字列を
                             比較します。 

Ordinal                      序数の並べ替え規則を使用して文字列を比較します。 

OrdinalIgnoreCase            序数の並べ替え規則を使用し、比較対象の文字列の大文字と小文字の
                             違いは無視して文字列を比較します。 


Framework2.0 から追加されている機能が結構あります。
詳しくは、参考リンクやヘルプをご覧下さい。




2004/05/21
2006/12/05