news 2026/4/23 1:46:27

【QString】分割函数split

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【QString】分割函数split

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

      • 分三种场景逐一分析
        • 1. 场景1:ptNum 中没有 "."(如 ptNum = "2")
        • 2. 场景2:ptNum 中有一个 "."(如 ptNum = "2.3")
        • 3. 场景3:ptNum 以 "." 结尾(如 ptNum = "2.")
      • 补充:如何控制空字符串的保留/过滤?
      • 总结表格

QStringList list = ptNum.split(“.”);
如果ptnum中有一个.返回的list.size为2,如果没有返回是1吗,如果ptnum="2."又是什么情况呢

要搞清楚QString::split(".")的结果,核心是理解它的默认行为规则split会按分隔符拆分字符串,默认保留空字符串结果(不自动过滤),且拆分后列表的长度 = 分隔符出现次数 + 1(特殊情况除外,但默认模式下基本遵循此规律)。

分三种场景逐一分析

假设你的代码中ptNumQString类型(结合上下文推测),三种情况的结果如下:

1. 场景1:ptNum 中没有 “.”(如 ptNum = “2”)
  • 分隔符 “.” 出现次数 = 0;
  • 拆分后列表长度 = 0 + 1 = 1;
  • list内容:["2"]
  • 结论:list.size() = 1(和你猜测的一致)。
2. 场景2:ptNum 中有一个 “.”(如 ptNum = “2.3”)
  • 分隔符 “.” 出现次数 = 1;
  • 拆分后列表长度 = 1 + 1 = 2;
  • list内容:["2", "3"]
  • 结论:list.size() = 2(和你描述的一致)。
3. 场景3:ptNum 以 “.” 结尾(如 ptNum = “2.”)
  • 分隔符 “.” 出现次数 = 1;
  • 拆分后会保留末尾的空字符串(默认模式);
  • list内容:["2", ""](第一个元素是 “.” 前的非空字符串,第二个元素是 “.” 后的空字符串);
  • 结论:list.size() = 2(关键!不是 1,因为默认不过滤空结果)。

补充:如何控制空字符串的保留/过滤?

QString::split有一个重载参数QString::SplitBehavior,可以自定义拆分规则:

// 1. 默认模式(保留空字符串,你的代码用的是这种)QStringList list1=ptNum.split(".");// 等价于:split(".", QString::KeepEmptyParts)// 2. 过滤所有空字符串(包括开头、中间、结尾)QStringList list2=ptNum.split(".",QString::SkipEmptyParts);// 举例:ptNum = "2." 时list1 →["2",""]→ size=2list2 →["2"]→ size=1

总结表格

ptNum 值split(“.”) 结果(默认)list.size()split(“.”, SkipEmptyParts) 结果
“2”[“2”]1[“2”]
“2.3”[“2”, “3”]2[“2”, “3”]
“2.”[“2”, “”]2[“2”]
“.3”[“”, “3”]2[“3”]
“2…3”[“2”, “”, “3”]3[“2”, “3”]
“”(空串)[“”]1[](空列表,size=0)

核心记住:默认情况下,split 不会丢弃任何拆分结果(包括空字符串),列表长度 = 分隔符数量 + 1;如果需要过滤空值,必须显式传入QString::SkipEmptyParts参数。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 14:10:17

智能抠图Rembg:珠宝首饰去背景案例

智能抠图Rembg:珠宝首饰去背景案例 1. 引言:AI驱动的电商图像精修新范式 随着电商平台对商品展示质量要求的不断提升,高精度去背景技术已成为图像处理的核心需求之一。传统手动抠图耗时耗力,难以满足大批量商品图快速上线的需求…

作者头像 李华
网站建设 2026/4/18 9:16:35

Rembg抠图模型比较:U2NET与其他网络

Rembg抠图模型比较:U2NET与其他网络 1. 引言:智能万能抠图 - Rembg 在图像处理与内容创作领域,自动去背景(Image Matting / Background Removal)是一项高频且关键的需求。无论是电商商品图精修、社交媒体内容制作&am…

作者头像 李华
网站建设 2026/4/19 17:46:34

提升LLM实用性|利用Qwen2.5-7B和Qwen-Agent实现外部工具集成

提升LLM实用性|利用Qwen2.5-7B和Qwen-Agent实现外部工具集成 一、引言:从“能说”到“能做”的关键跃迁 大语言模型(LLM)在自然语言理解与生成方面已展现出惊人能力,但其“只说不做”的局限性严重制约了实际应用价值。…

作者头像 李华
网站建设 2026/4/16 13:06:10

深度解析Qwen2.5-7B部署流程|实现低延迟高并发的Web推理服务

深度解析Qwen2.5-7B部署流程|实现低延迟高并发的Web推理服务 一、引言:为何需要高性能推理架构? 随着大语言模型(LLM)在实际业务场景中的广泛应用,用户对响应速度和服务稳定性的要求日益提升。Qwen2.5-7B…

作者头像 李华
网站建设 2026/3/14 23:49:13

结构化输出更稳定|Qwen2.5-7B-Instruct + vLLM实战

结构化输出更稳定|Qwen2.5-7B-Instruct vLLM实战 在大模型落地加速的今天,企业级AI应用对推理服务提出了更高要求:不仅要响应快、吞吐高,还需支持长上下文理解与结构化数据生成。尤其是在自动化报告生成、API数据填充、智能客服…

作者头像 李华
网站建设 2026/4/23 5:32:47

SNH48杨冰怡”I KNOW YOU KNOW”个人巡演圆满收官, 千里奔赴见证梦想绽放

来自SNH48青春女团的年度青春盛典TOP1成员杨冰怡在夺冠后,开始了个人全国巡演以及个人首张唱片的宣传之旅。加入女团11年以来,杨冰怡一直用极致的舞台表现力及充满蓬勃生命力的少女偶像元气,征服了大量的粉丝。1月10日,她在广州圆…

作者头像 李华