2011-01-21 12 views
0

右の人は私がstring.How内の単語は、私が一緒に文字列内の各単語の周りにブラケットを追加することができますagasint一致する単語のデータベースを使用してautospinnerを作成しようとしています、私の問題であるコンテンツC#の文字列を送ります|オートは、ここで

たとえば、 "Hello world my name is mintuz"という文字列でtheStringという名前のvarがある場合は、どのように{}を各括弧の前後に追加して、データベース。私は多分長さを見つけることを考えていた

"{mintuz} | {かもしれである} | {世界| | Univerise} {私} {名前IDが} {こんにちはこんにちは}" それは...

を読み込み文字列の空白がテキストに現れるたびに、空白文字の前にa}とaを追加します。私はあまりにも確信していない|そして可能な言葉。どんなアイディアも大変感謝しています。

答えて

1

私(もっと不可欠)試みであるだろうと' '

で文字列を分割することによって開始します。

static string GenerateGrouping(string str) 
{ 
    var grouped = new StringBuilder(); 
    foreach (var word in str.Split(' ')) 
    { 
     var fetchedWord = FetchMatchingWordFromDatabase(word); 
     grouped.Append("{" + word + (string.IsNullOrEmpty(fetchedWord) ? string.Empty : " | " + fetchedWord) + "} "); 
    } 
    return grouped.ToString().Trim(); 
} 
3

私はそう

string[] stringArr = string.Split(' '); //up to you to sanitize it, remove dbl spaces etc... 

//then I would use LINQ goodness and select a formatted string 

string finalValue = String.Join(" ",stringArr.Select(x=> string.Format("{{0} | {1}}",x, MethodToGetOppositeFromDB(x))).ToArray()); 
+0

一致する単語がない場合、メソッドは冗長パイプ記号を追加します。それ以外、私はLinqのexpessionsが大好きです:) – fjdumont

+0

oO、string.formatのラッパーメソッドを作成してstring.Emptyを返すことができます。haha :) geez man LINQは簡単にlilをコーディングします! –