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

[文本处理] 批处理如何将逢4的半角空格替换为全角空格?

[复制链接]
发表于 2023-12-28 10:50:21 | 显示全部楼层 |阅读模式
几十mb大容量TXT文本有大量半角空格,
读取半角空格部分,将每4次出现的半角空格替换为全角空格,
如何快速替换?
发表于 2023-12-28 12:47:16 | 显示全部楼层
用powershell或vbs或jscript或其他
 楼主| 发表于 2023-12-28 13:54:29 | 显示全部楼层
本帖最后由 xp3000 于 2023-12-28 14:06 编辑
  1. //&cls&dir /b *.txt|cscript -nologo -e:jscript "%~f0"&pause&exit
  2. fso = new ActiveXObject("Scripting.FileSystemObject");
  3. while (!WSH.StdIn.AtEndOfStream) {
  4.     f = WSH.StdIn.ReadLine();
  5.     content = fso.OpenTextFile(f,1).ReadAll();
  6. var newContent = '';
  7. var count = 0;
  8. // 遍历字符串中的每个字符
  9. for (var i = 0; i < content.length; i++) {
  10.     var char = content.charAt(i);
  11.     if (char == ' ') {
  12.         count += 1;
  13.         if (count == 4) {
  14.             count = 0;
  15.             newContent += ' ';
  16.         } else {
  17.             newContent += char;
  18.         }
  19.     } else {
  20.         newContent += char;
  21.     }
  22. }
  23.     fso.OpenTextFile(f,2,true).Write(newContent);
  24. }

复制代码
效率不高
发表于 2023-12-28 18:06:23 | 显示全部楼层
回复 3# xp3000


    都用 javascript 了,那可以考虑更方便的正则呀!
content.replace(/半角空格/g, function() { return count++ != 0 && count % 4 == 0 ? 全角空格 : 半角空格;}

把上面中文替换成对应的全角或半角空格就可以啦。

评分

参与人数 2技术 +2 收起 理由
xp3000 + 1 感谢分享
buyiyang + 1 乐于助人

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 06:34 , Processed in 0.023176 second(s), 12 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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