C语言库函数---sscanf

"%5s"	从左开始向右取五个字符
"%s" 将左边的字符串赋值给右边
"%[^ ]" 取到指定字符串为止的字符串,例子为取遇到空格为止的字符串
"%[^290#*]" 为取到2,9,0,#,*任意一个时,停止匹配
"%[1-9a-z]" 仅取包含指定字符集的字符串,例子为取仅包含1到9和小写字母的字符串
"%[dlza#i]" 仅匹配中括号中的字符,如果没有则停止匹配
"%[^A-Z]" 取到指定字符集为止的字符串,例子为取遇到大写字母为止的字符串
"%*s%s" 过滤掉第一个字符串内容,字符与字符之间空格隔开
重要:指定分隔符
"%*[^/]/%[^@]" 取/和@之间的字符串,"%*[^@]@%*[^/]/%[^@]" 取xxx@xxx/xxx@中/和@之间的内容
"%[^'.'].%[^'.']" 指定分隔符的字符串提取方式,上面例子过程中分隔符可变,本例分隔符可不变
"%*[^:]:%s" 类似于RBDName:LUN_31X:ee这样的字符串,上面和本例获取内容不同
"%[0-9:.]-%[0-9:.]" 如果标点过多,可以用该方式截取字符串

sscanf还可以这么过滤:
char buff[128] = "hik_vision_3400_guge";
sscanf(buff,"hik_vi%s",age);
sion_3400_guge

注意:
1、匹配特殊字符时:如^ [ ]等时,添加单引号可去除其特殊含义
2、[a|b|c|d]表示匹配其中任意一项均可
3、支持集合操作:
%[a-z]  表示匹配a到z中任意字符,贪婪性(尽可能多的匹配)
%[aB']  匹配a、B、'中一员,贪婪性
%[^a]   匹配非a的任意字符,贪婪性
和正则表达式很相似,而且仍然支持过滤,即可以有%*[a-z]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值