标题: [文本处理] 批处理怎样替换字符串成相应的格式? [打印本页]
作者: canyuexiaolang 时间: 2010-7-15 20:12 标题: 批处理怎样替换字符串成相应的格式?
利用批处理把字符串替换成相应的格式
其中的字母或数字换成对应的编码
其中- .=Chr(46)
- 0=Chr(48)
- 1=Chr(49)
- 2=Chr(50)
- 3=Chr(51)
- 4=Chr(52)
- 5=Chr(53)
- 6=Chr(54)
- 7=Chr(55)
- 8=Chr(56)
- 9=Chr(57)
- A=Chr(65)
- B=Chr(66)
- C=Chr(67)
- D=Chr(68)
- E=Chr(69)
- F=Chr(70)
- G=Chr(71)
- H=Chr(72)
- I=Chr(73)
- J=Chr(74)
- K=Chr(75)
- L=Chr(76)
- M=Chr(77)
- N=Chr(78)
- O=Chr(79)
- P=Chr(80)
- Q=Chr(81)
- R=Chr(82)
- S=Chr(83)
- T=Chr(84)
- U=Chr(85)
- V=Chr(86)
- W=Chr(87)
- X=Chr(88)
- Y=Chr(89)
- Z=Chr(90)
- a=Chr(97)
- b=Chr(98)
- c=Chr(99)
- d=Chr(100)
- e=Chr(101)
- f=Chr(102)
- g=Chr(103)
- h=Chr(104)
- i=Chr(105)
- j=Chr(106)
- k=Chr(107)
- l=Chr(108)
- m=Chr(109)
- n=Chr(110)
- o=Chr(111)
- p=Chr(112)
- q=Chr(113)
- r=Chr(114)
- s=Chr(115)
- t=Chr(116)
- u=Chr(117)
- v=Chr(118)
- w=Chr(119)
- x=Chr(120)
- y=Chr(121)
- z=Chr(122)
复制代码
输入某一个字符串,自动替换成相应的格式。比如输入123,替换成为
Chr(49)+Chr(50)+Chr(51)
自己利用变量延迟+set替换...结果就别说了...求能成功的代码....
================================================
学习C++的应该知道把?
char h='a';
cout<<(int)h<<endl;
强制转换得到的...
[ 本帖最后由 canyuexiaolang 于 2010-7-15 20:14 编辑 ]
作者: sgaizxt001 时间: 2010-7-15 20:55
就是ascii码嘛,你把这个代码补充完整下看看呢
set n=
for %%a in (字符) do (
set /a n+=1
set _%%a=chr(!n!)
)
set _
作者: canyuexiaolang 时间: 2010-7-15 21:30
呆了诶...最看不懂的就是这个有下划线的代码了...
作者: vsbat 时间: 2010-7-15 21:49 标题: 回复 3楼 的帖子
下划线只不过是变量名的一部分而已
作者: canyuexiaolang 时间: 2010-7-15 21:50 标题: 回复 4楼 的帖子
那,不加下划线会影响效果吗。。。
我就一直很纳闷,加不加有什么区别
作者: sgaizxt001 时间: 2010-7-15 22:42
看看这个代码- @echo off
- setlocal enabledelayedexpansion
- set /p str=请输入字符串:
- set count=0
- rem 计算字符串长度
- :lp
- set /a count+=1
- for /f %%i in ("%count%") do if not "!str:~%%i,1!"=="" goto lp
-
- rem 定义替换字符
- set _.=chr(46)
- set n=47
- set o=64
- set m=96
- for %%a in (0 1 2 3 4 5 6 7 8 9) do set /a n+=1 & set _%%a=chr(!n!)
- for %%b in (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) do set /a o+=1 &set _%%b=chr(!o!)
- for %%c in (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) do set /a m+=1 &set #%%c=chr(!m!)
-
- rem 替换字符
- for /l %%k in (0,1,%count%) do (
- for /f "tokens=1,2 delims=_#=" %%i in ('set _ ^& set #') do (
- if "!str:~%%k,1!"=="%%i" set/p =%%j<nul
- )
- )
- echo.
- pause
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |