2016-05-12 28 views
-2

ファイルに英語以外のテキストがあるとします。 FileIO.ReadLinesAsyncメソッドを使用してファイルの内容を読み取ることができます。各行に文字セットが含まれるようになりました。この文字列から各文字(英語以外のアルファベット)を抽出する方法は?ここで私はC#コードで私の質問を表しました。ファイルから英語以外の文字を読み取る

List<string> finalAlphabets = new List<string>(); 
     IList<string> alphabetLines = await FileIO.ReadLinesAsync(_languageFile,UnicodeEncoding.Utf8); 
     if (alphabetLines.Count != 0) 
     { 
      foreach (string alphabetLine in alphabetLines) 
      { 
       //lets say alphabetLine has "కాకికు", here i want to extract each letter from this and i want to add to finalAlphabets list 
       finalAlphabets.Add("కా"); // How to extract this letter from alphabetLine variable. If you look at the Length of alphabetLine , it shows 6, but actually in Telugu language it is 3 letter word.    
      } 
     } 
+0

ポストごとに具体的な一つの質問をしてください。

var myTEE = System.Globalization.StringInfo.GetTextElementEnumerator("కాకికు"); while (myTEE.MoveNext()) { Console.WriteLine("[{0}]:\t{1}\t{2}", myTEE.ElementIndex, myTEE.Current, myTEE.GetTextElement()); } 

出力次生成します。現在の状態では、文字列/エンコーディング/ファイルIOと一般的なプログラミングに関する良いチュートリアルが必要であるように思えます。おそらくあなたの質問に対する答えは、[TextInfo](https://msdn.microsoft.com/en-us/library/system.globalization.textinfo%28v=vs.110%29.aspx)クラスに含まれていますが、難しいですそのタイプの情報を実際に探しているかどうかを確認してください。 –

+0

アレクセイに感謝します。私は私の質問を単純化しました。私の問題を解決するためにTextInfoクラスをどのように使用するか教えてください。 –

+0

それは本当に良い今です。あなたは "文字"があなたのために何を意味するのかを理解するだけで、あなたはすべて設定されています。多くの場合、反復文字で十分ですが、言い難いです - 多くの象形文字は2文字にまたがり、アクセント記号は文字列のいくつかの文字にまたがることがあります(特に正規化されていない場合はほとんどありません。最初に文字列を簡単に正規化する)。 –

答えて

0

は、テキスト情報のクラスが設定される - TextInfoStringInfo、特にあなたはおそらく1「はテキスト要素」境界を見つけることができますTextElementEnumeratorを探しています。 MSDNの記事から

簡体サンプル:

[0]: కా కా 
[2]: కి కి 
[4]: కు కు 
+0

恐ろしいアレクセイ。あなたの忍耐と、私が望む正確なソリューションを提供していただきありがとうございます。私はUWPアプリを書いています。あなたは私をたくさん助けました!コードの上の –

+0

はほとんどのアルファベットのために働いています。しかし、テルグ語やヒンディー語などの言語を書いているうちに、新しい文字を得るために2つのアルファベットが混在していました。 Teluguの2つの例は、 "已షష"、 "链接"などです。言い換えれば、 \t var myTEE = System.Globalization.StringInfo.GetTextElementEnumerator( "已ష్్య" "); は4つの要素を与えていますが、私は2つの要素 "धाషష"と "remarkלiny"として抽出したいと思います。そのように抽出する任意のラングコードを指定する必要がありますか?助けてください。再度、感謝します。 –

+0

それは私の知識の範囲外の方法です。新しい質問にはたくさんの詳細が必要です。 –

関連する問題