using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
namespace KssSmaPlaLib.Commons.Conversion
{
public static class KanaConvertUxer
{
///
/// 半角カタカナを全角カタカナに変換します。
/// 空文字やnullはそのまま返却します。
///
public static bool TryConvertHankakuToZenkaku(string input, out string result, out string resultMessage)
{
result = input;
resultMessage = string.Empty;
if (string.IsNullOrEmpty(input))
return true;
// 半角カタカナが含まれているかチェック
if (!Regex.IsMatch(input, @"[\uFF61-\uFF9F]"))
return true;
// 変換処理
result = Microsoft.VisualBasic.Strings.StrConv(input, Microsoft.VisualBasic.VbStrConv.Katakana | Microsoft.VisualBasic.VbStrConv.Wide, 0);
return true;
}
///
/// 全角カタカナを半角カタカナに変換します。
/// 空文字やnullはそのまま返却します。
///
public static bool TryConvertZenkakuToHankaku(string input, out string result, out string resultMessage)
{
result = input;
resultMessage = string.Empty;
if (string.IsNullOrEmpty(input))
return true;
// 全角カタカナが含まれているかチェック(ざっくり)
if (!Regex.IsMatch(input, @"[\u30A0-\u30FF]"))
return true;
// 変換処理
result = Microsoft.VisualBasic.Strings.StrConv(input, Microsoft.VisualBasic.VbStrConv.Katakana | Microsoft.VisualBasic.VbStrConv.Narrow, 0);
return true;
}
}
}