QStringList::split处理字符串

duanhpduan 2011-01-07 08:00:10
怎样用QStringList::split将一个字符串两个一组分开分别放入QStringList中。
比如字符串“123456”,处理后QStringList list,list[0] = 12,list[1] = 34, list[2] = 56.
...全文
2983 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
dark3212 2011-09-27
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 zhaoshuzhi 的回复:]
QString::split和QRegExp好像实现不了楼主的意思,你直接使用for循环就可以实现了;如下:

QString str="123456";
QStringList list;
for(int i =0; i<str.Length(); i=i+2)
{
list << str.left(2);
str = str.mid(2);
}
[/Quote]
i<str.Length(); 这句有错误吧
str = str.mid(2);
str的长度一直在变
在水一方 2011-01-10
  • 打赏
  • 举报
回复
QString::split和QRegExp好像实现不了楼主的意思,你直接使用for循环就可以实现了;如下:

QString str="123456";
QStringList list;
for(int i =0; i<str.Length(); i=i+2)
{
list << str.left(2);
str = str.mid(2);
}
duanhpduan 2011-01-09
  • 打赏
  • 举报
回复
感觉QStringList split ( const QRegExp & sep, const QString & str, bool allowEmptyEntries = FALSE )
可以实现,但是QRegExp不知道怎么实现。
  • 打赏
  • 举报
回复
你的需求QStringList::split无法满足,因为它要分隔符,而你没有,自己做吧,又不难
qq419036154 2011-01-07
  • 打赏
  • 举报
回复
feilinhe 2011-01-07
  • 打赏
  • 举报
回复
应该是QString::split,你的字符串中间必须有分隔符才行:
比如:QString str = "12-34-56";
那么这样用就可以了:
QStringList myList = str.split("-");
这样myList里面就是你说的那样了

16,211

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧