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