如何用正则表达式取空值

CnManStudy 2010-06-05 11:25:41
数据字段以‘-’分割,字段可能为空,源字符串格式如下:

char *p1 = "123--343-dde";

char var[5][10];
sscanf(p1,"%[^-*]-%[^-*]-%[^-*]-%[%-*]",var[0],var[1],var[2],var[3]);

想取出各个字段,var[0]=123,var[1]=null,var[2]=343,var[3]=dde

但是发现取出来的值是var[0]=123,var[1]=343,var[2]=dde,var[3]=null;



请问我该如何取得对应的空值?
...全文
499 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
taodm 2010-06-11
  • 打赏
  • 举报
回复
那就去学真正的正则表达式。
CnManStudy 2010-06-11
  • 打赏
  • 举报
回复
关键是我不知道 空 什么时候出现
CnManStudy 2010-06-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 selooloo 的回复:]
换下顺序不就行了么
sscanf(p1,"%[^-*]-%[^-*]-%[^-*]-%[%-*]",var[0],var[3],var[2],var[1]);
[/Quote]

问题是我不知道空格什么时候出现?
selooloo 2010-06-05
  • 打赏
  • 举报
回复
换下顺序不就行了么
sscanf(p1,"%[^-*]-%[^-*]-%[^-*]-%[%-*]",var[0],var[3],var[2],var[1]);

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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