VB.NETの文字列を操作するサンプルです。
確認環境 ・Microsoft Visual Studio Community 2019 |
目次
文字列を結合する(+演算子/&演算子)
文字列を結合するサンプルです。
Module Module1
Sub Main()
'リテラル文字列を結合
Console.WriteLine("あ" + "い") 'あいと出力される
Console.WriteLine("う" & "え") 'うえと出力される
'変数の値を結合
Dim a As String = "か"
Dim b As String = "き"
Console.WriteLine(a + b) 'かきと出力される
Console.WriteLine(a & b) 'かきと出力される
End Sub
End Module
4行目は+演算子、5行目は&演算子で文字列のリテラルを結合しています。
10,11行目は、変数どうしを結合しています。
文字列を結合する(Concat)
文字列を結合するサンプルです。
Module Module1
Sub Main()
Dim a As String = "赤"
Dim b As String = "黄"
Dim c As String = "青"
Console.WriteLine(String.Concat(a, b)) '赤黄
Console.WriteLine(String.Concat(a, b, c)) '赤黄青
End Sub
End Module
9行目は、Concatメソッドで文字列を結合しています。
10行目のように3つ以上の文字列の結合も可能です。
配列の値を区切り文字を指定して繋げる(Join)
配列の値を区切り文字を指定して繋げるサンプルです。
Module Module1
Sub Main()
Dim a() As String = {"赤", "黄", "青"}
Dim b As String = String.Join("", a)
Console.WriteLine(b) '赤黄青
Dim c As String = String.Join("-", a)
Console.WriteLine(c) '赤-黄-青
End Sub
End Module
Joinの1つめの引数の文字で配列の値を繋げます。
文字列を追加する(Insert)
文字列を結合するサンプルです。
Module Module1
Sub Main()
Dim a As String = "赤黄青"
Console.WriteLine(a.Insert(2, "オレンジ")) '赤黄オレンジ青
End Sub
End Module
5行目は、文字列を追加しています。最初の引数は追加する位置です。
位置は0から始まります。
文字を繰り返して作成する
文字を繰り返して作成するサンプルです。
Module Module1
Sub Main()
Dim a As New String("あ", 3)
Console.WriteLine(a) 'あああと出力される
Dim b As String = String.Empty
For i = 0 To 2
b += "い"
Next i
Console.WriteLine(b) 'いいいと出力される
End Sub
End Module
3行目は、Stringクラスのコンストラクタで1つめの引数の文字を2つめの引数の数だけ繰り返します。
6~10行目は、For文で文字を繰り返して表示しています。
頭ゼロを追加する(PadLeft)
頭ゼロを追加するサンプルです。
Module Module1
Sub Main()
Dim a As String = "9"
Console.WriteLine(a.PadLeft(3, "0")) '009
Console.WriteLine(a.PadLeft(5, "0")) '00009
Dim b As String = "90"
Console.WriteLine(b.PadLeft(3, "0")) '090
Console.WriteLine(b.PadLeft(5, "0")) '00090
End Sub
End Module
PadLeftメソッドの1つめの引数は、桁数です。
指定した桁数内で、2つめの引数の値が頭に追加されます。
padは、詰め物という意味です。
指定した位置の文字を取得する(Substringメソッド)
指定した位置の文字を取得するサンプルです。
Module Module1
Sub Main()
Dim a As String = "あいうえお"
'文字を取得
Console.WriteLine(a.Substring(0, 1)) 'あと出力される
Console.WriteLine(a.Substring(1, 1)) 'いと出力される
Console.WriteLine(a.Substring(2, 1)) 'うと出力される
Console.WriteLine(a.Substring(0, 2)) 'あいと出力される
Console.WriteLine(a.Substring(1, 2)) 'いうと出力される
End Sub
End Module
Substringメソッドの1つめの引数は、開始位置です。
2つめの引数は取得する文字数です。
最初の文字の位置は 0 です。
文字の位置を返す(IndexOfメソッド)
文字の位置を返すサンプルです。
Module Module1
Sub Main()
Dim a As String = "あいうabc"
Console.WriteLine(a.IndexOf("い")) '1と出力される
Console.WriteLine(a.IndexOf("b")) '4と出力される
Console.WriteLine(a.IndexOf("か")) '-1と出力される
End Sub
End Module
5,6行目は、IndexOfメソッドで引数の文字の位置を返します。
最初の文字は、0から始まります。
7行目は、対象の文字列に指定の文字がないので-1が返ります。
文字の位置を返す(InStrメソッド)
文字の位置を返すサンプルです。
Module Module1
Sub Main()
Dim a As String = "あいうabc"
Console.WriteLine(InStr(a, "い")) '2と出力される
Console.WriteLine(InStr(a, "b")) '5と出力される
Console.WriteLine(InStr(a, "か")) '0と出力される
End Sub
End Module
5,6行目は、InStrメソッドで引数の1つめの文字列に対して2つめの引数の文字の位置を返します。
最初の文字は、1から始まります。(0ではありません)
7行目は、対象の文字列に指定の文字がないので0が返ります。
文字列の始め/終わりを確認する(Like演算子)
文字列の始めまたは終わりを確認するサンプルです。
Module Module1
Sub Main()
Dim a As String = "あいうabc"
Console.WriteLine(a Like "あ*") 'Trueと出力される
Console.WriteLine(a Like "あ") 'Falseと出力される
Console.WriteLine(a Like "*bc") 'Trueと出力される
Console.WriteLine(a Like "bc") 'Falseと出力される
End Sub
End Module
5行目は、Likeで「あ」から始まる文字列か確認しています。Trueになります。「あ」の後にアスタリスク(*)が必要です。
6行目は、「あ」の後にアスタリスクがないのでFalseになります。
8行目は、Likeで「bc」で終わる文字列か確認しています。Trueになります。「bc」の前にアスタリスク(*)が必要です。
9行目は、「bc」の前にアスタリスクがないのでFalseになります。
文字列の長さを取得する(Lengthプロパティ)
文字列の長さを取得するサンプルです。
Module Module1
Sub Main()
Dim a As String = "あいうabc"
Console.WriteLine(a.Length) '6と出力される
Dim b As String = ""
Console.WriteLine(b.Length) '0と出力される
End Sub
End Module
4行目は、Lengthで文字列の長さを取得しています。
7行目のように空文字のときは0が返ります。
文字列が含まれているか真偽値を返す(Contains)
文字列が含まれているか真偽値を返すサンプルです。
Module Module1
Sub Main()
Dim a As String = "12345"
Console.WriteLine(a.Contains(3)) 'Trueが出力される
Console.WriteLine(a.Contains(9)) 'Falseが出力される
Dim b As String = "あいうえお"
Console.WriteLine(b.Contains("うえ")) 'Trueが出力される
Console.WriteLine(b.Contains("うお")) 'Falseが出力される
End Sub
End Module
Containsメソッドは、文字列に指定の文字列がある場合Trueを返します。
文字列がnullまたは空文字か確認する(IsNullOrEmptyメソッド)
文字列がnullまたは空文字か確認するサンプルです。
Module Module1
Sub Main()
Dim a As String = Nothing 'null
Dim b As String = ""
If String.IsNullOrEmpty(a) Then
Console.WriteLine("nullです") 'nullですと出力される
End If
If String.IsNullOrEmpty(b) Then
Console.WriteLine("空です") '空ですと出力される
End If
End Sub
End Module
4行目は、変数にNothingをセットしています。nullです。
5行目は、空文字をセットしています。
7,11行目はそれぞれIsNullOrEmptyメソッドで判定しています。該当するのでTrueが返ります。
文字列を削除する(Remove)
文字列を削除するサンプルです。
Module Module1
Sub Main()
Dim a As String = "あいうえお"
Console.WriteLine(a.Remove(2, 1)) 'あいえおと出力される
Console.WriteLine(a.Remove(2, 2)) 'あいおと出力される
Console.WriteLine(a.Remove(2, 3)) 'あいと出力される
End Sub
End Module
5~7行目は、文字列の文字を削除しています。
1つ目の引数は開始の位置で、2つめの引数は削除する文字数です。
開始の位置は0から始まります。
文字列の先頭と末尾の空白を削除する(Trimメソッド)
文字列の先頭と末尾の空白を取り除くサンプルです。
Module Module1
Sub Main()
Dim a As String = " ABCabc "
Console.WriteLine(a.Trim) '前後の半角空白を削除
Console.WriteLine(a.TrimStart) '先頭の半角空白を削除
Console.WriteLine(a.TrimEnd) '末尾の半角空白を削除
End Sub
End Module
3行目は、文字列の前後に半角空白があります。
5行目は、Trimメソッドで文字列の前後の空白を削除しています。
7行目のTrimStartは先頭の半角空白を削除します。
9行目のTrimEndは末尾の半角空白を削除します。
文字列を置き換える(Replace)
文字列を置き換えるサンプルです。
Module Module1
Sub Main()
Dim a As String = "赤青黄青"
Console.WriteLine(a.Replace("青", "blue")) '赤blue黄blue
End Sub
End Module
5行目は、Replaceメソッドで値を指定して文字列を置き換えています。
文字列を分割して配列にする(Split)
文字列を分割して配列にするサンプルです。
Module Module1
Sub Main()
Dim a As String = "赤,黄,青"
Dim b() As String = a.Split(",")
'Dim b() As String = a.Split(","c)
For Each c In b
Console.WriteLine(c) '赤 黄 青
Next
End Sub
End Module
5行目は、splitメソッドでカンマ区切りにして配列にしています。
6行目は、ダブルコーテーションの後にcがあります。
これはカンマがChar型であることを示しています。結果は5行目と同じになります。
数値(Integer)を文字列にする(ToStringメソッド)
数値(Integer)を文字列にするサンプルです。
Module Module1
Sub Main()
Dim a As Integer = 12345
Dim b As String = a.ToString
Console.WriteLine(VarType(b)) '8(String)が出力されるa
End Sub
End Module
4行目は、ToStringメソッドで数値を文字列にしています。
VarTypeメソッドはデータ型を調べることができます。
文字列を数値(Integer)にする(Parseメソッド)
文字列を数値(Integer)にするサンプルです。
Module Module1
Sub Main()
Dim a As String = "12345"
Dim b As Integer = Integer.Parse(a)
Console.WriteLine(VarType(b)) '3(Integer)が出力される
End Sub
End Module
4行目は、Parseメソッドで文字列を数値にしています。
VarTypeメソッドはデータ型を調べることができます。
英字の大文字と小文字を変換(ToUpper/ToLowerメソッド)
英字の大文字と小文字を変換するサンプルです。
Module Module1
Sub Main()
Dim a As String = "ABCabcあいう"
Console.WriteLine(a.ToUpper) 'ABCABCあいうと出力される
Console.WriteLine(a.ToLower) 'abcabcあいうと出力される
End Sub
End Module
3行目は、英字の大文字と小文字と全角文字(あいう)があります。
5行目は、ToUpperメソッドで英字の小文字を大文字にしています。
7行目は、ToLowerメソッドで英字の大文字を小文字にしています。
全角文字は変わっていません。
関連の記事