読者です 読者をやめる 読者になる 読者になる

hayateasdf's blog

C#,javascript,pythonなどいろいろ。広く浅く

全角アルファベット → 半角アルファベット変換

C#ではVisualBasicのStrConvを使えばできるみたいですが、 ちょっとめんどくさい設定が必要になるので、適当に自作。

    // 全角アルファベット -> 半角アルファベット
    public static string convertHalf(string s)
    {
        var all = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
        var half = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
        var c_ary = s.Select(c =>
        {
            var cc = all.Select((value, i) => new { Value = value, Index = i }).FirstOrDefault(item => item.Value == c);
            return cc == null ? c : half[cc.Index];
        }).ToArray();
        return new String(c_ary);
    }