批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程
[批处理文件精品]批处理版照片整理器[批处理文件精品]纯批处理备份&还原驱动在线第三方下载
返回列表 发帖

[文本处理] [已解决]根据文本指定内容进行对应内容输出?

本帖最后由 czvde 于 2022-5-16 15:17 编辑

123.txt的内容如下:
1_a10
1_一0
1_a1

效果
123-a.txt的内容如下:
10
0
1

123-1.txt的内容如下:
A
A

123-z.txt的内容如下:



已解决!

本帖最后由 qixiaobin0715 于 2022-5-12 08:25 编辑

代码适用除字母数字以外的字符必须连续,不能分开:
  1. @echo off
  2. set numbers=0 1 2 3 4 5 6 7 8 9
  3. set letters=A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
  4. setlocal enabledelayedexpansion
  5. for /f "tokens=2 delims=_" %%a in (123.txt) do (
  6.     set str1=%%a
  7.     for %%b in (%letters% %numbers%) do set str1=!str1:%%b=!
  8.     echo,!str1!>>123-z.txt
  9.     set str2=%%a
  10.     for %%c in (%letters% !str1!) do set str2=!str2:%%c=!
  11.     echo,!str2!>>123-a.txt
  12.     set str3=%%a
  13.     for %%d in (%numbers% !str1!) do set str3=!str3:%%d=!
  14.     for %%i in (%letters%) do set str3=!str3:%%i=%%i!
  15.     echo,!str3!>>123-1.txt
  16. )
  17. pause
复制代码
1

评分人数

    • czvde: 乐于助人技术 + 1

TOP

  1. #&cls&powershell "iex(gc '%~0'|out-string)"&pause
  2. $txt=@()
  3. gc 123.txt|%{$txt+=$_.split("_, ")[1]}
  4. $txt -replace '[^\d]' |tee -f 123-a.txt
  5. ($txt -replace '[^a-z]').toupper() |tee -f 123-1.txt
  6. $txt -replace '[^\u4e00-\u9fa5]' |tee -f 123-z.txt
  7. $txt -replace '\d' |tee -f 123-123.txt
复制代码
1

评分人数

    • czvde: 乐于助人技术 + 1

TOP

本帖最后由 czvde 于 2022-5-15 20:30 编辑

回复 2# qixiaobin0715
回复 3# for_flr


    谢谢

TOP

2楼代码已修改,未测试,自己看看是否可行。

TOP

回复 1# czvde
为什么把顶楼的内容修改了?不要随意修改提问的内容:
1.可以留待有类似需求的人参考;
2.对提供代码的人也是一种尊重。

TOP

返回列表