2011-09-24 67 views
-2

我在C#如何檢測字符串中的多語言?

我如何可以檢測如果此字符串包含不同語言個字符一個字符串?

即:一個人填補文本框中他英文名和當地語言名稱。

我想禁止這樣做。

是這樣的:

「檢查字符串中的字符的語言表,如果它從不同的Unicode表來 - 返回錯誤」。

,但我認爲這是對「一個」在我們英國問題。

也許我錯了。

如何識別多種語言?

+0

您的意思是* language *,* charset *或* culture info *?你使用什麼平臺? winforms或silverlight的ASP.NET?你的應用程序將安裝在哪裏?正則表達式和unicode標籤的本質是什麼? –

+1

並非所有的字符都屬於特定的語言。你需要一個更強的問題定義。 –

+0

@ Caspar Kleijne,謝謝我添加了asp.net。它的網站有一個文本框,應該只包含一個語言字符。 –

回答

1

我想你正在尋找的codepoints。代碼頁中字符的唯一標識符。我認爲這應該對你有用How would you get an array of Unicode code points from a .NET String?。一旦你從字符串中獲得codepoints數組,你可以根據你想要的代碼點範圍來檢查它。

希望這會有所幫助。

+0

我試過了。我可以弄明白 - 如何查看字符串是否包含超過1種語言?你能解釋一下嗎? –

+1

那麼,如果你談論自然語言檢測,那麼就沒有簡單的解決方案,你需要一個語言詞典,並試圖找出或多或少像現代瀏覽器一樣。這是一個複雜的。你可以做的是創建一系列由字母(拉丁語,阿拉伯語,印度語,俄語)分開的數字,並確定不同的APHABETS的存在,但不識別語言。換句話說,如果我在法國和意大利語混合寫一句話,你永遠不會弄清楚(如果我沒有使用特定語言的字母),但你可以推遲:拉丁語言與非拉丁語言。 – Tigran

+0

,謝謝我該如何推遲拉丁與非拉丁?你能引用我一些例子嗎? –