はじめに
Microsoft.VisualBasic.dll は参照したくない。
じゃあどうするか
以下のコードで次のことが可能になります。
C# 特有のこととかはしてないので、どの言語でも使いまわせると思います。
できること
- 「ひらがな」の判定
- 「全角カタカナ」の判定
- 「半角カタカナ」の判定
- 「漢字」の判定
- 「ひらがな」から「全角カタカナ」への変換
- 「ひらがな」から「半角カタカナ」への変換
- 「全角カタカナ」から「ひらがな」への変換
- 「全角カタカナ」から「半角カタカナ」への変換
- 「半角カタカナ」から「ひらがな」への変換
- 「半角カタカナ」から「全角カタカナ」への変換
- 濁点や半濁点を前の文字と合成して 1 つの文字に変換
Japanese.cs
namespace MMFrame.Text.Language
{
/// <summary>
/// 日本語に関するクラス
/// </summary>
public class Japanese
{
/// <summary>
/// カタカナのテーブル
/// </summary>
private static readonly string[] KATAKANA_TABLE = new string[]
{
"ガ", "ガ", "ギ", "ギ", "グ", "グ", "ゲ", "ゲ", "ゴ", "ゴ",
"ザ", "ザ", "ジ", "ジ", "ズ", "ズ", "ゼ", "ゼ", "ゾ", "ゾ",
"ダ", "ダ", "ヂ", "ヂ", "ヅ", "ヅ", "デ", "デ", "ド", "ド",
"バ", "バ", "ビ", "ビ", "ブ", "ブ", "ベ", "ベ", "ボ", "ボ",
"ヴ", "ヴ", "ヷ", "ヷ",