2016-04-15 34 views
0

音声認識装置のテキストから引数を解析しようとしていますが、これを変換できます。 "int my variable string some other variables" 2つの文字列 「int my variable」と「string some other variable」 ご覧のとおり、文字列配列を使用して分割し、分割した区切り文字を保持する必要があります。 誰でもこれを行う方法のアイデアがありますか?文字列配列の文字列を分割して区切り文字を分割する

+0

どうしてこの方法(3単語+4単語)で分割したのですか? –

+1

文字列には多くの空白があり、それを分割するために1つの特定の空白を選択しました。どの白いスペースを分割するかはどのように決定しますか? – Vikhram

+0

私は空白で分割していません。私は文字列の配列を使用して分割しています。私はこれを言った。 – SPV2008

答えて

0

あなたはこのコードを使用することにより、これを行うことができますが、このコードは、あなたが

string s = "int my variable string some other variable"; 

string[] sarr1 = new string[] { "string" }; 
string[] sarr=s.Split(sarr1, StringSplitOptions.None); 
for (int i = 0; i < sarr.Length; i++) 
{ 
    if (i == sarr.Length - 1) 
     Console.WriteLine(sarr1[0] + sarr[i]); 
    else 
     Console.WriteLine(sarr[i]); 
} 

を尋ねると、あなたは、配列のリストを使用している場合は、このアプローチを使用することができ、現在の質問のとおりです

string s = "int my variable string some other variable float is another variable float is another variable"; 

//you can create any string for replacement over here that 
//suit or fits your requirement 
s = s.Replace("int", "<@@> <##>"); 
s = s.Replace("float", "<$$> <%%>"); 
s = s.Replace("string", "<^^> <&&>"); 

Dictionary<string, string> dict = new Dictionary<string, string>(); 
string[] sarr3 = new string[] { "<@@>","<$$>","<^^>" }; 
string[] sarr = s.Split(sarr3, StringSplitOptions.None); 

for (int i = 0; i < sarr.Length; i++) 
{ 
    string temp = sarr[i].Replace("<##>", "int").Replace("<%%>", "float").Replace("<&&>", "string"); 
    Console.WriteLine(temp); 
} 
+0

これは、私が使用する必要がある唯一の時間でしたしかし、私が言及した文字列は例だった。私は非常に異なっているものを持つことができました。例えば、 "char input letter int"のようなものです。 – SPV2008

+0

更新コードを確認する – rashfmnb