标题: [文本处理] [已解决]根据文本指定内容进行对应内容输出? [打印本页]
作者: czvde 时间: 2022-5-11 10:41 标题: [已解决]根据文本指定内容进行对应内容输出?
本帖最后由 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-11 11:55
本帖最后由 qixiaobin0715 于 2022-5-12 08:25 编辑
代码适用除字母数字以外的字符必须连续,不能分开:- @echo off
- set numbers=0 1 2 3 4 5 6 7 8 9
- 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
- setlocal enabledelayedexpansion
- for /f "tokens=2 delims=_" %%a in (123.txt) do (
- set str1=%%a
- for %%b in (%letters% %numbers%) do set str1=!str1:%%b=!
- echo,!str1!>>123-z.txt
- set str2=%%a
- for %%c in (%letters% !str1!) do set str2=!str2:%%c=!
- echo,!str2!>>123-a.txt
- set str3=%%a
- for %%d in (%numbers% !str1!) do set str3=!str3:%%d=!
- for %%i in (%letters%) do set str3=!str3:%%i=%%i!
- echo,!str3!>>123-1.txt
- )
- pause
复制代码
作者: for_flr 时间: 2022-5-11 19:28
- #&cls&powershell "iex(gc '%~0'|out-string)"&pause
- $txt=@()
- gc 123.txt|%{$txt+=$_.split("_, ")[1]}
- $txt -replace '[^\d]' |tee -f 123-a.txt
- ($txt -replace '[^a-z]').toupper() |tee -f 123-1.txt
- $txt -replace '[^\u4e00-\u9fa5]' |tee -f 123-z.txt
- $txt -replace '\d' |tee -f 123-123.txt
复制代码
作者: czvde 时间: 2022-5-11 23:25
本帖最后由 czvde 于 2022-5-15 20:30 编辑
回复 2# qixiaobin0715
回复 3# for_flr
谢谢
作者: qixiaobin0715 时间: 2022-5-12 08:28
2楼代码已修改,未测试,自己看看是否可行。
作者: qixiaobin0715 时间: 2022-5-16 14:54
回复 1# czvde
为什么把顶楼的内容修改了?不要随意修改提问的内容:
1.可以留待有类似需求的人参考;
2.对提供代码的人也是一种尊重。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |