C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: 全角半角文字と大文字小文字の区別を無視して等しいか比べる方法


(過去ログ 94 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■56066 / inTopicNo.1)  全角半角文字と大文字小文字の区別を無視して等しいか比べる方法
  
□投稿者/ ひなげし (6回)-(2010/12/25(Sat) 18:11:06)

分類:[VB.NET/VB2005 以降] 

全角半角文字と大文字小文字の区別を無視して文字列が等しいか比較できなくて困っています

例えば全角と半角、ひらがなとカタカナの区別を無視して、s1とs2が等しいか調べるのは下の例のようにできます
<例>
Dim s1 As String = "あいうえお"
Dim s2 As String = "アイウエオ"
Dim ci As System.Globalization.CompareInfo = _
System.Globalization.CultureInfo.CurrentCulture.CompareInfo
If ci.Compare(s5, s6, System.Globalization.CompareOptions.IgnoreWidth Or _
System.Globalization.CompareOptions.IgnoreKanaType) = 0 Then
  Console.WriteLine("等しいです。")
End If

しかし全角と半角、大文字と小文字の区別を無視して、s1とs2が等しいか調べる方法が分かりません
下の例は大文字と小文字の区別を無視して調べる方法です
<例>
Dim s1 As String = "abc"
Dim s2 As String = "ABC"
Dim ci As System.Globalization.CompareInfo = _
System.Globalization.CompareInfo.GetCompareInfo("ja-JP")
If ci.Compare(s1, s2, System.Globalization.CompareOptions.IgnoreCase) = 0 Then
Console.WriteLine("等しいです。")
End If

これに全角と半角の区別を足したいのですが方法が分かりません
用は"abc","ABC","abc","ABC"の各文字列が全て等しいと判定できる方法はないでしょうか?
分かる方いらっしゃいましたらよろしくお願いします
引用返信 編集キー/
■56067 / inTopicNo.2)  Re[1]: 全角半角文字と大文字小文字の区別を無視して等しいか比べる方法
□投稿者/ ちゃっぴ (71回)-(2010/12/25(Sat) 18:34:33)
ちゃっぴ さんの Web サイト
C# で。

string a = "abc";
string b = "ABC";

CompareInfo info = CompareInfo.GetCompareInfo("ja-JP");
CompareOptions option
= CompareOptions.IgnoreKanaType
| CompareOptions.IgnoreWidth
| CompareOptions.IgnoreCase;
Console.WriteLine(info.Compare(a, b, option));
引用返信 編集キー/
■56069 / inTopicNo.3)  Re[2]: 全角半角文字と大文字小文字の区別を無視して等しいか比べる方法
□投稿者/ ひなげし (8回)-(2010/12/25(Sat) 19:31:13)
解決できました
ありがとうございました
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -