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

[文本处理] 批处理怎样变换字符串的格式?

请教大家怎样将
000000000003704376 R32 4
000000000003704376 R34 8
000000000003704376 R35 1
000000000003704376 R36 6
000000000003704376 R38 1
000000000003525004 XL 2
000000000003551929 L 2
000000000003525006 S 1
000000000003525006 M 5
000000000003551927 M 7
000000000003704376 R33 2
000000000003525006 L 4
变为
S3704376R32 4
S3704376R34 8
S3704376R35 1
这样的格式?

要转换的字符串在1.txt里
转换后的结果在2.txt里
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /F "tokens=1,3" %%i in (1.txt) do (
  4. set a=%%i
  5. echo S!a:~11,13! %%j>>2.txt
  6. )
复制代码

TOP

  1. sed "s/^0\+/S/;s/\([0-9]\+\) /\1/" 1.txt >2.txt
复制代码

TOP

回复 3楼 的帖子

哇、sed貌似我家电脑里没有啊

还是第三方软件?

还是Win2003没有?

TOP

000000000003525004 XL 2
000000000003551929 L 2
000000000003525006 S 1
000000000003525006 M 5
000000000003551927 M 7
000000000003525006 L 4
这些都不要吗?
努力学习,努力挣分

TOP

感谢大家,但是我希望的是S3525004N 1这样格式的,现在变成S3525004 1这样了,请问怎样改?

TOP

后面都要的

TOP

回复 4楼 的帖子

我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

非常糊涂。你看看这个代码是不是你想要的,如果是的话你把echo !str!变成echo !str! >>b.txt
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=1,2,3 delims= " %%a in (a.txt) do (
  4.   set "str=S%%a%%b %%c"
  5.   set str=!str:00000000000=!
  6.   echo !str!
  7. )
  8. pause
复制代码
努力学习,努力挣分

TOP

For your reference as below.

@echo off
setlocal enabledelayedexpansion
for /F "tokens=1,2,3" %%i in (1.txt) do (
set a=%%i
echo S!a:~11,7!%%j %%k >>2.txt
)

Result as below:

S3704376R32 4
S3704376R34 8
S3704376R35 1
S3704376R36 6
S3704376R38 1
S3525004XL 2
S3551929L 2
S3525006S 1
S3525006M 5
S3551927M 7
S3704376R33 2
S3525006L 4

TOP

谢谢大家,帮助不小啊

TOP

返回列表