2011-01-21 43 views
0

右边的球员在这里是我的问题,我正在尝试使用单词数据库来匹配字符串中的单词。如何在字符串中的每个单词旁边添加括号?和相反的单词..自动写入内容c#字符串

例如,如果我有一个var名为theString与字符串“你好世界我的名字是mintuz”我怎么能在每个单词旁边加上括号和一个可能的单词数据库。所以它读取...

“{你好|嗨} {世界| Univerise} {我} {名称| ID} {是|可能是} {} mintuz”

我想也许找到长度的字符串,并且每次在文本中出现空格时,在空格字符后面添加一个}前和一个{空格字符。我不太确定|和可能的单词。任何想法将非常感谢。

回答

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的期待:) – fjdumont 2011-01-21 10:12:58