在一次项目需要用到语种的判断,在此分享一个简单的语种判断方法,不多说直接上代码:
/// <summary>
/// 语种判断是否有误
/// </summary>
/// <param name="src">原文txt</param>
/// <param name="srcLan">原文语种语种为代号</param>
/// <returns></returns>
private bool LanguageJudge(string src,string srcLan)
{
var lanRegex = string.Empty;
var count = 0;
if (srcLan == "1033")
{
lanRegex = @"^[a-zA-Z]+$";
}
else if (srcLan == "2052")
{
lanRegex = "^[\\u4e00-\\u9fa5]+$";
}
else if (srcLan == "1049")
{
lanRegex = "^[\\u0400-\\u052f]+$";
}
else if (srcLan == "1041")
{
lanRegex = "^[\\u0800-\\u9fa5]+$";
}
src = Regex.Replace(src, @"\s", "");
foreach (char character in src)
{
if (Regex.IsMatch(character.ToString(), lanRegex))
{
count++;
}
}
if (count > src.Length / 2)
return true;
return false;
}