[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

几十mb大容量TXT文本有大量半角空格,
读取半角空格部分,将每4次出现的半角空格替换为全角空格,
如何快速替换?

用powershell或vbs或jscript或其他

TOP

本帖最后由 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. }
复制代码
效率不高

TOP

回复 3# xp3000


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

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

评分人数

TOP

返回列表