字符串分割

yyang0514 2013-07-14 09:21:23
如果数据源变为 123455,13182122252601时,我只对第二个域进行分割,请问如何实现。
期望结果是123455,13,18,21,22,25,26,01。
文件中有很多同类型的数据需要分割。
...全文
119 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
yyang0514 2013-07-15
  • 打赏
  • 举报
回复
引用 3 楼 justkk 的回复:
第二个域的长度固定吗?
第二个域长度是固定的
justkk 2013-07-15
  • 打赏
  • 举报
回复
第二个域的长度固定吗?
yyang0514 2013-07-15
  • 打赏
  • 举报
回复
引用 1 楼 u011081622 的回复:
char* pText = "123455,13182122252601"; int iCount = 0; bool fSecond = false; for (int i=0; i<strlen(pText); ++i) { printf("%c", pText[i]); if (',' == pText[i])//找到两域之间的分割 { fSecond = true; } if (fSecond) { if (++iCount % 2 == 0) { printf(","); } } }
谢谢你的回复,请问shell命令能实现吗
kenny_hwei 2013-07-15
  • 打赏
  • 举报
回复
char* pText = "123455,13182122252601"; int iCount = 0; bool fSecond = false; for (int i=0; i<strlen(pText); ++i) { printf("%c", pText[i]); if (',' == pText[i])//找到两域之间的分割 { fSecond = true; } if (fSecond) { if (++iCount % 2 == 0) { printf(","); } } }
yyang0514 2013-07-15
  • 打赏
  • 举报
回复
引用 8 楼 justkk 的回复:
cat yourfile|sed 's/\(.*,\)\(..\)\(..\)\(..\)\(..\)\(..\)\(..\)\(..\)/\1\2,\3,\4,\5,\6,\7,\8/'
非常感谢你的帮助问题已经解决了。
justkk 2013-07-15
  • 打赏
  • 举报
回复
cat yourfile|sed 's/\(.*,\)\(..\)\(..\)\(..\)\(..\)\(..\)\(..\)\(..\)/\1\2,\3,\4,\5,\6,\7,\8/'
justkk 2013-07-15
  • 打赏
  • 举报
回复
哦,他那个方式更简洁,学习了

全部处理
cat yourfile|sed -r 's/(.{2})/\1,/g'|sed '$s/.$//
yyang0514 2013-07-15
  • 打赏
  • 举报
回复
引用 5 楼 justkk 的回复:
试试
echo "123455,13182122252601"|sed 's/\(.*,\)\(..\)\(..\)\(..\)\(..\)\(..\)\(..\)\(..\)/\1\2,\3,\4,\5,\6,\7,\8/'
引用 5 楼 justkk 的回复:
试试
echo "123455,13182122252601"|sed 's/\(.*,\)\(..\)\(..\)\(..\)\(..\)\(..\)\(..\)\(..\)/\1\2,\3,\4,\5,\6,\7,\8/'
下面的脚本和你的类似,工作没有问题。我遇到的问题是我有很多记录,但是只对第二个域进行处理,如何将所有记录全部都处理好呢。例如: 123455,13182122252601 333333,13182122252601 转换为文本 123455,13,18,21,22,25,26,01 333333,13,18,21,22,25,26,01

echo "13182122252601"|sed -r 's/(.{2})/\1,/g'|sed '$s/.$//
justkk 2013-07-15
  • 打赏
  • 举报
回复
试试
echo "123455,13182122252601"|sed 's/\(.*,\)\(..\)\(..\)\(..\)\(..\)\(..\)\(..\)\(..\)/\1\2,\3,\4,\5,\6,\7,\8/'

19,620

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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