如何搜索symbian描述符以获得多个单词匹配

时间:2011-05-28 12:53:21

标签: symbian

我有一个描述符,我想搜索多个单词以查看其中一个单词是否存在,我该怎么办?

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

现在我想搜索“ buf ”,看它有(Fasle,Now,Bad)字样或至少其中一个字。

这是我使用的下面的代码,但我认为这还不够:

  _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;
            }
  }

非常感谢提前。

1 个答案:

答案 0 :(得分: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*/