2011-09-24 5 views
-2

나는이 문자열이 다른 언어에서 숯을가 포함되어있는 경우문자열에서 다중 언어를 검색하려면 어떻게해야합니까?

이 어떻게 감지 할 수 C#에서 문자열을?

즉이 : 한 사람이 자신의 영어 텍스트 상자에 이름과 그의 지역 언어 이름을 채 웁니다.

나는 이것을 허용하고 싶습니다. 이 같은

뭔가 :

는 "그것은 다른 유니 코드 테이블에서 오는 경우 문자열에서 문자의 언어 테이블을 확인하고 - 반환 ERROR".

는하지만 난 ''에서 우리 또는 영국에 대한 문제가 있다고 생각합니다.

어쩌면 잘못되었습니다.

어떻게 하나 이상의 언어를 인식 할 수 있습니까?

+0

* language *, * charset * 또는 * culture info *를 의미합니까? 어떤 플랫폼을 사용합니까? ASP.NET은 winforms 또는 실버 라이트? 응용 프로그램은 어디에 설치됩니까? 정규 표현식과 유니 코드 태그의 본질은 무엇입니까? –

+1

모든 문자가 특정 언어에 속하는 것은 아닙니다. 문제에 대한 훨씬 더 강력한 정의가 필요합니다. –

+0

@ Caspar Kleijne, 감사합니다. asp.net을 추가했습니다. 하나의 언어 문자 만 포함해야하는 텍스트 상자가있는 웹 사이트. –

답변

1

코드 포인트를 찾고 있다고 생각합니다. 코드 페이지에있는 문자의 고유 식별자입니다. 이게 너에게 유용 할 것 같아. How would you get an array of Unicode code points from a .NET String?. 문자열에서 코드 포인트 배열을 얻으면 원하는 코드 포인트의 범위와 비교하여 검사 할 수 있습니다.

희망이 도움이됩니다.

+0

나는 시험해 보았다. 나는 그것을 알아낼 수 있습니다 - 문자열에 둘 이상의 언어가 포함되어 있는지 어떻게 알 수 있습니까? 설명해 주시겠습니까? –

+1

자연 언어 감지에 대해 이야기하고 있다면 쉬운 해결책이 없습니다. 언어 사전이 필요하며 현대 브라우저와 다소 차이가 있는지 알아 내려고 노력합니다. 이것은 복합체입니다. 할 수있는 일은 알파벳 (라틴어, 아랍어, 힌두어, 러시아어)으로 구분 된 숫자 세트를 만들고 언어가 아닌 다른 APHABETS의 존재를 확인하는 것입니다. 다시 말해, 프랑스에 문장을 써서 이탈리아어를 섞어 쓰면 (언어 별 문자를 사용하지 않았다면) 알아낼 수는 없지만 비 라틴 식의 라틴어는 사용하지 않는 것이 좋습니다. – Tigran

+0

, 라틴어가 아닌 라틴어를 어떻게 연기합니까? 나를 몇 가지 예를 들어 볼 수 있니? –

관련 문제