Skip to main content

How To detect Japanese characters in C#


using System;
using System.Data.Linq;
using System.Collections.Generic;

public class Program
{
private static int GetCharsInRange(string text, int min, int max)
{
List<char> lst=new List<char>(text.ToCharArray());
    return lst.FindAll(e => e >= min && e <= max).Count;
}

private static bool IsJapaneseText(string input)
{
int hiragana = GetCharsInRange(input, 0x3040, 0x309F);
int katakana = GetCharsInRange(input, 0x30A0, 0x30FF);
int kanji = GetCharsInRange(input, 0x4E00, 0x9FBF);
int result=hiragana+katakana+kanji;
return result>0;
}
public static void Main()
{
string searchKeyword=@"宜しくお願い致します。宜しくお願い致します。宜しくお願い致します。宜しくお願い致します。宜しくお願い致します。宜しくお願い致します。宜しくお願い致します。宜しくお願い致します。宜しくお願い致します。";
//string searchKeyword="Hello world";

Console.WriteLine("Is Japanese text?:{0}",IsJapaneseText(searchKeyword));
}
}

Comments

Popular posts from this blog

Cannot access a disposed object. A common cause of this error is disposing a context that was

  Cannot access a disposed object. A common cause of this error is disposing a context that was resolved from dependency injection and then later trying to use the same context instance elsewhere in your application. This may occur if you are calling Dispose() on the context, or wrapping the context in a using statement. If you are using dependency injection, you should let the dependency injection container take care of disposing context instances. Object name: 'PropertyContext'.  public class CustomerHub : Hub     {         public readonly ICustomerService _customerService;         private readonly IServiceScopeFactory _serviceScopeFactory;         public CustomerHub(ICustomerService service, IServiceScopeFactory serviceScopeFactory)         {             _customerService = service;             _serviceScopeFactory = serviceSco...

First J2ME Application & Deployment(.jar,.jad) for your Supported Mobile Phones

Most probably 2 years ago I had decided to swap from C#.NET to Java.But at the time of its beginning I found it so messy than that of C#.As I desired to develop applications for my famous China Phone(Network down most of the time but supports java) at last I did it at the end of 2010.Now I'll discuss how to prepare your desktop to develop your first  j2me applications .   What is actually J2ME? J2ME stands for Java 2 Micro Edition, also known as Java ME. J2ME is a stripped down version of Java targeting devices with lower processing capabilities, like mobile phones, pagers .J2ME runs on a highly optimized version of Java Run-time Environment called KVM which comes pre-installed on devices(mobile phone,hand-held devices) supporting J2ME apps. Basic Concepts on J2ME: We can divide J2ME framework into three main parts namely Configurations, profiles and optional packages Configurations : A configuration contains the KVM and important class libraries, It defin...