找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 17258|回复: 2

[文本处理] 【已解决】批处理如何通过标点符号进行分段?

[复制链接]
发表于 2022-11-10 10:20:28 | 显示全部楼层 |阅读模式
本帖最后由 每天几分 于 2022-11-10 13:11 编辑

用正则表达式试过,但效率有点慢。
常用标点符号
[,。?!:;、()%/~‘’“”《》<>——……]


如:  
冷风如刀,以大地为砧板,视众生为鱼肉。
万里飞雪,将苍穹作洪炉,溶万物为白银。
雪将住,风未定,一辆马车自北而来,滚动的车轮碾碎了地上的冰雪,却碾不碎天地间的寂寞。

实现如下:

冷风如刀
以大地为砧板
视众生为鱼肉
万里飞雪
将苍穹作洪炉
溶万物为白银
雪将住
风未定
一辆马车自北而来
滚动的车轮碾碎了地上的冰雪
却碾不碎天地间的寂寞
发表于 2022-11-10 11:42:11 | 显示全部楼层
将:

  1. 冷风如刀,以大地为砧板,视众生为鱼肉。
  2. 万里飞雪,将苍穹作洪炉,溶万物为白银。
  3. 雪将住,风未定,一辆马车自北而来,滚动的车轮碾碎了地上的冰雪,却碾不碎天地间的寂寞。
复制代码
以ANSI编码格式保存为1.txt


将:

  1. BEGIN {
  2.         FS="[,。?!:;、()%/~‘’“”《》<>——……]"
  3. }
  4. {
  5.         for (i = 0; ++i <= NF; ) {
  6.                 if ($i) {
  7.                         print $i
  8.                 }
  9.         }
  10. }
复制代码
以ANSI编码格式保存为1.awk

下载gawk(http://bcn.bathome.net/tool/4.1.0/gawk.exe
执行:

  1. gawk -f.\1.awk 1.txt>2.txt
复制代码
结果:

  1. 冷风如刀
  2. 以大地为砧板
  3. 视众生为鱼肉
  4. 万里飞雪
  5. 将苍穹作洪炉
  6. 溶万物为白银
  7. 雪将住
  8. 风未定
  9. 一辆马车自北而来
  10. 滚动的车轮碾碎了地上的冰雪
  11. 却碾不碎天地间的寂寞
复制代码

评分

参与人数 1技术 +1 收起 理由
每天几分 + 1 多谢,效率杠杠的!

查看全部评分

发表于 2022-11-10 13:00:34 | 显示全部楼层
方案二,将:

  1. BEGIN {
  2.         RS="[,。?!:;、()%/~‘’“”《》<>——……\n]+"
  3. }
  4. {
  5.         print
  6. }
复制代码
以ANSI编码格式保存为2.awk

执行:

  1. gawk -f.\2.awk 1.txt>2.txt
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 11:38 , Processed in 0.012850 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表