【问题标题】:How to check a wxString with regular expressions like this如何使用这样的正则表达式检查 wxString
【发布时间】:2016-04-18 00:24:49
【问题描述】:

我想像这样检查用户输入的 wxString:

substring1, substring2, substring3, substringn

这意味着只是 alpha 和逗号之间的子串。怎么做,我是新手,谢谢你的帮助。

【问题讨论】:

  • 为什么你认为你需要正则表达式呢?为什么wxString::find(", ") 不剪呢?

标签: c++ wxwidgets wxstring


【解决方案1】:

看看以下两个类:

wxSplit

这可用于创建基于分隔符的 wxString (wxArrayString) 数组。比如下面的代码:

wxSplit ("substring1, substring2, substring3, substringn", ',');

将导致 wxArrayString 包含:

substring1
 substring2
 substring3
 substringn

注意,后面的子字符串之前的空格。这是因为wxSplit 只能接受一个字符。

wxStringTokenizer

这稍微复杂一些,但功能更强大。改编文档中的示例:

wxStringTokenizer tokenizer("substring1, substring2, substring3, substringn", ",");
while ( tokenizer.HasMoreTokens() )
{
    wxString token = tokenizer.GetNextToken();
    wxPuts (token.Trim(false));
}

将解决领先的空间问题。

【讨论】:

  • 不鼓励仅添加链接答案。您能否总结一下为什么使用这两个类可以回答问题的要点?
  • 说实话,这个问题很模糊。但是,我已经扩展了答案,以便更完整地解释这两个类的作用。
猜你喜欢
  • 1970-01-01
  • 2019-04-14
  • 1970-01-01
  • 1970-01-01
  • 2011-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多