2011-05-28 81 views
1

我有一个描述符,并且我想要搜索多个单词以查看这些单词中是否存在或不存在,我该怎么做?如何搜索symbian描述符以匹配多个单词

_LIT(KText,"Good Bad Wrong Right False True Now Later What How"); 
TBuf<100> buf(KText); 

现在我想搜索“BUF”,看它(FASLE,现在,坏)字样或它们中的至少一个。

这是我下面使用的代码,但我不觉得这是不够的:

_LIT(KText,"Good;Bad;Now;Later;Why;What"); 
    TBuf<100>buf(KText); 

_LIT(KWord,"Good;Now"); 
TBuf<100>g_Word(KWord); 

TPtrC ptr; 
TChar delimiter; 
delimiter = TChar(';'); 

for(TInt ii = 0; ii < 100; ii++) 
    { 
    if(KErrNone == TextUtils::ColumnText(ptr,ii,&g_Word,delimiter)) 
     {   
     TBuf<100> temp;temp.Copy(ptr);temp.LowerCase(); 
     if(KErrNotFound != buf.Find(temp)) 
     { 
     // here I'm gonna do something if there is a match with one or more words in the "buf" 
     } 
     } 
     else 
      { 
      break; 
      } 
    } 

提前非常感谢。

回答

0

TDesC有很多有用的功能。 http://library.forum.nokia.com/index.jsp?topic=/S60_3rd_Edition_Cpp_Developers_Library/GUID-CEE609D8-50E3-422D-8FF9-42C25D669E59_cover.html

_LIT16(KFind1,"bad"); 
TInt index = str.Find(KFind1); /*Will return index if found else returns KErrNotFound*/ 
+0

非常感谢您的回复,但是,这是合适的,如果我在寻找一个一个字匹配,因此,使用“查找”是指在我的字符串运行一个循环,看它是否有一个匹配我预定义的单词之一;想象一下,如果我有多个字符串,就像我通过收件箱SMS进行循环一样。 我的想法是通过收件箱循环查找哪些短信有一个或多个预定义的单词,然后我将删除此短信。 那么是否有一个函数需要一个描述符数组并搜索一个字符串以进行一个或多个匹配(注意:我不在乎同一条SMS中有多少匹配)。 – 2011-05-28 16:47:18