[VB.net]文字列で大文字小文字区別しないで比較!全角半角の判断についても

画像VB.net
広告

VB.netにおいて、文字列の比較や全角半角の判断はプログラミングでよく使われます。

本記事では、文字列の大文字小文字を区別せずに比較する方法と、

文字列から全角半角を区別せずに判断する方法について説明します。

初心者の方でも分かりやすいように簡潔に解説します。

広告

文字列で大文字小文字区別しないで比較する

VB.netでは、文字列を大文字小文字を区別せずに比較するには、String.Compareメソッドを使用します。

以下に例を示します。

Dim str1 As String = "Hello"
Dim str2 As String = "hello"

If String.Compare(str1, str2, StringComparison.OrdinalIgnoreCase) = 0 Then
    Console.WriteLine("文字列は同じです。")
Else
    Console.WriteLine("文字列は異なります。")
End If

'結果:文字列は同じです。

このコードでは、StringComparison.OrdinalIgnoreCaseを指定することで、大文字小文字を区別しないで比較しています。

文字列で全角半角区別しないで比較する

VB.netでは、文字列の比較には通常、String.Compareメソッドを使用しますが

このメソッドではデフォルトで大文字小文字を区別します。

そこで、全角半角を区別せずに比較するためには、事前に文字列を正規化することが必要です。

Imports System.Globalization
Imports System.Text
Module Module1
    Sub Main()
        ' 比較する文字列
        Dim str1 As String = "abcアイウ"
        Dim str2 As String = "ABCアイウ"

        ' 文字列を正規化してから比較
        Dim normalizedStr1 As String = str1.Normalize(NormalizationForm.FormKC)
        Dim normalizedStr2 As String = str2.Normalize(NormalizationForm.FormKC)

        If String.Compare(normalizedStr1, normalizedStr2, StringComparison.OrdinalIgnoreCase) = 0 Then
            Console.WriteLine("文字列は同じです。")
        Else
            Console.WriteLine("文字列は異なります。")
        End If

    '結果:文字列は同じです。
    End Sub
End Module

このコードでは、NormalizationForm.FormKCを使用して文字列を正規化し、

String.Compareメソッドで比較しています。

StringComparison.OrdinalIgnoreCaseを指定することで、大文字小文字を区別せずに比較しています。

広告

まとめ

まとめ

VB.netにおいて、文字列の比較や全角半角の判断は、

それぞれString.CompareメソッドとString.Normalizeメソッドを利用することで簡単に行えます。

これらの手法を活用して、文字列操作をスムーズに行いましょう。

タイトルとURLをコピーしました