Board logo

标题: [文本处理] [已解决]批处理如何统计一行被指定字符分割的字符串共有几个字段/几列 [打印本页]

作者: daluobo    时间: 2015-12-29 11:17     标题: [已解决]批处理如何统计一行被指定字符分割的字符串共有几个字段/几列

本帖最后由 pcl_test 于 2016-8-6 22:23 编辑

批处理如何统计指定字符的个数?
文件是CSV格式,逗号为分割符,但是不知道有几列。
想通过统计1行数据的逗号个数来知道是几列。
求代码。
如下
22,33,44,55,66
4个逗号,那我就知道是5列。
作者: aa77dd@163.com    时间: 2015-12-29 13:50

回复 1# daluobo
  1. @echo off
  2. set "line=22,33,44,55,66"
  3. set /a "sumCol=(%line:,=&0)+1+(%&0)+1"
  4. set sumCol
  5. pause
复制代码

作者: daluobo    时间: 2015-12-29 14:34

解决了,能否解释一下。
作者: pcl_test    时间: 2016-8-6 22:21

第三行替换后变成
set /a "sumCol=(22&0)+1+(33&0)+1+(44&0)+1+(55&0)+1+(66&0)+1"
&在这里为按位与运算,那么按优先级计算后为set /a "sumCol=0+1+0+1+0+1+0+1+0+1"




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2