使用wxStringTokenizer分割字符串

//wxStringTokenizer::wxStringTokenizer  (const wxString & str, 
//                                       const wxString &  delims = wxDEFAULT_DELIMITERS,
//                                       wxStringTokenizerMode  mode = wxTOKEN_DEFAULT
//                                       ) 

//wxTOKEN_DEFAULT:如果分割符为空白字符则等同于wxTOKEN_STRTOK,否则等同于wxTOKEN_RET_EMPTY.
//wxTOKEN_RET_EMPTY:在这种模式,空白部分将作为一个子字符串部分被返回,例如"a::b:"如果用":"分割则返回三个子字符串a, ""和b.
//wxTOKEN_RET_EMPTY_ALL:在这种模式下,最后的空白部分也将作为一个子字符串返回. 这样"a::b:"使用":"分割将返回四个子字符串,其三个和wxTOKEN_RET_EMPTY返回的相同,最后一个则为一个"".
//wxTOKEN_RET_DELIMS:在这种模式下,分割符也作为子字符串的一部分(除了最后一个子字符串,它是没有分割符的),其它方面类似wxTOKEN_RET_EMPTY.
//wxTOKEN_STRTOK:这种情况下,子字符串的产生结果和标准strtok函数完全相同.空白字符串将不作为一个子字符串.

#include <wx/tokenzr.h>
#include <wx/arrstr.h>
wxArrayString StringSplit(const wxString src,const wxString seperator="")
{
    wxArrayString sa;
    wxStringTokenizer tokenizer(src, seperator);
    while ( tokenizer.HasMoreTokens() )
    {
        wxString token = tokenizer.GetNextToken();
        sa.Add(token);
    }
    return sa;
}

void wwFrame::OnAbout(wxCommandEvent& event)
{
    wxArrayString s;
    s=StringSplit("first:second:third:fourth");
    for(int i=0; i<s.GetCount(); i++)
    {
        wxMessageBox(s[i]);
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值