VB.netプログラミングにおいて文字列と数値の変換は非常に重要です。
本記事ではVB.netにおける文字列を数値に判定しまた数値を文字列に変換する方法に焦点を当てます。
さらに、Int型とString型が混在する配列での要素の入替えについても解説します。
文字列を数値に判定し変換し抽出する
IsNumericで数字か判定し変換する
文字列が数値に変換可能かどうかを判定するには、IsNumeric関数を使用します。
Dim inputString As String = "123"
If IsNumeric(inputString) Then
' 数値に変換可能な場合の処理
Dim numericValue As Integer = CInt(inputString)
Console.WriteLine("数値に変換成功:" & numericValue)
Else
' 数値に変換できない場合の処理
Console.WriteLine("数値に変換できません")
End If
この例では、IsNumeric関数で文字列が数値に変換可能かを判定し、CInt関数で実際に数値に変換しています。
正規表現で数字か判定し変換する
このコードでは正規表現を使用して文字列が数字のみで構成されているかを確認します。
Imports System.Text.RegularExpressions
Module Program
Sub Main()
Dim input As String = "123"
If Match(input) Then
Dim number As Integer = Integer.Parse(input)
Console.WriteLine("Parsed number: " & number)
Else
Console.WriteLine("Input is not a valid integer.")
End If
End Sub
Function Match(input As String) As Boolean
Return Regex.IsMatch(input, "^\d+$") ' 正規表現を使って文字列が数字のみで構成されているか確認
End Function
End Module
^\d+$ は、文字列が数字のみで構成されていることを示す正規表現パターンです。
Match関数がTrueを返した場合には、Integer.Parse メソッドを使用して文字列を整数に変換します。
![ガマくん](https://kamitukablog.com/HP/wp-content/uploads/2024/01/カエル.png)
整数や小数点がある数字なのか細かく判定したい場合は以下記事で紹介しているよ
![](https://kamitukablog.com/HP/wp-content/uploads/2024/01/アイキャッチ-20-320x180.png)
文字列配列から数字だけ判定し抽出する場合
文字列配列から数字のみを抽出しそれらを数値に変換するには各文字列が数字であるかを確認し適切な変換を行う必要があります。
以下はその方法です。
Imports System
Module Program
Sub Main()
Dim stringArray() As String = {"123", "apple", "456", "orange", "789", "banana"}
For Each item In stringArray
Dim number As Integer
If Integer.TryParse(item, number) Then
Console.WriteLine("Number: " & number)
End If
Next
End Sub
End Module
このコードでは、Integer.TryParse メソッドを使用して各文字列が数値であるかどうかを確認し数値に変換します。
TryParse メソッドが成功した場合数値が number 変数に格納されそれを出力します。
IntやString混在配列を入替する場合
混在配列から数字のみを取り出す場合は各要素を数値に変換して数値であるかどうかを確認する必要があります。
以下はその方法です。
Imports System
Module Program
Sub Main()
Dim mixedArray() As Object = {1, "apple", 3, "orange", 5, "banana"}
For Each item In mixedArray
If IsNumeric(item) Then
Dim number As Integer = Convert.ToInt32(item)
Console.WriteLine("Number: " & number)
End If
Next
End Sub
End Module
このコードでは、IsNumeric 関数を使用して各要素が数値であるかどうかを確認します。
IsNumeric 関数が True を返した場合、Convert.ToInt32 メソッドを使用してその要素を整数に変換します。
まとめ
この記事ではVB.netにおいて文字列を数値に変換し、逆に数値を文字列に変換する方法について解説しました。
また、Int型とString型が混在する配列において特定の要素を入替える手法も紹介しました。
これらのテクニックを活用することで文字列と数値の柔軟な扱いが可能になります。
初心者の方もぜひ実際にコードを書きながら理解を深めてみてください。