标题: (已结,感谢高手)两个字符串合并的问题
[打印本页]
作者: victor888
时间: 2008-10-29 22:22
标题: (已结,感谢高手)两个字符串合并的问题
感谢2位高手的解答,但这里有一个问题,如果字符串不同字符之间的空格数不是固定,也就是说最少可能一个的话,如何连接呢?
谢谢!
==
字符串1:A B C D E
字符串2:1 2 3 4 5 6 7 8
现在想得到A1 B2 C3 D4 E5,请问如何操作。
[
Last edited by victor888 on 2008-10-30 at 15:53 ]
作者: jycel
时间: 2008-10-29 22:27
这样行不我以前请教别人得到的
@echo off&setlocal enabledelayedexpansion
if exist d.txt del /q d.txt
for /f "tokens=*" %%a in (a.txt) do (
set /a n+=1
set _!n!=%%a
)
set n=0
for /f "tokens=*" %%b in (b.txt) do (
set /a n+=1
set _b!n!=%%b
)
set n=0
for /f "tokens=*" %%i in (c.txt) do call :lp %%i
goto :eof
:lp
set /a n+=1
echo !_%n%! !_b%n%! %1>>d.txt
你把字符串1放一个记事本,字符串2又放一个记事本,看下这个代码应该有帮助
作者: victor888
时间: 2008-10-29 22:30
兄弟,我以前就抄的你的这段代码,现在想换一下啊。
作者: jycel
时间: 2008-10-29 22:33
只要能实现就行了啊!你把C.txt中一坚排全打个字符,在综合出来的D中,用替换全给清了不就行了!
作者: terse
时间: 2008-10-30 00:02
字符有多长? 字符空格间隔?还是文本里获取呢?
作者: victor888
时间: 2008-10-30 08:45
楼上的,只要能得到正确答案就行,但不要使用文件的方式。
作者: HAT
时间: 2008-10-30 09:28
@echo off
setlocal enabledelayedexpansion
set str1=A B C D E
set str2=1 2 3 4 5 6 7 8
for /l %%a in (0,2,8) do (
set /p =!str1:~%%a,1!!str2:~%%a,1! <nul
)
作者: tireless
时间: 2008-10-30 09:50
@echo off & setlocal EnableDelayedExpansion
set str1=A B C D E
set str2=1 2 3 4 5 6 7 8
:loop
set /p =!str1:~%n%,1!!str2:~%n%,1! <nul
set /a n+=2
if "!str1:~%n%,1!" neq "" goto loop
echo. & pause
[
Last edited by tireless on 2008-10-30 at 10:05 ]
作者: terse
时间: 2008-10-30 13:24
@echo off&setlocal enabledelayedexpansion&color
set str1=A B C D E
set str2=1 2 3 4 5 6 7 8
for %%i in (%str1%) do (
call set "str=!str!%%i%%str2:~!n!,1%% "
set/a n+=2
)
echo !str!
pause
作者: pusofalse
时间: 2008-10-30 13:31
@echo off
set "var=A B C D E"
set "str=1 2 3 4 5 6 7 8"
for %%a in (%var%) do set /a n+=1& call :loop %%a
echo. &pause &exit /b
:loop
for /f "tokens=%n%" %%a in ("%str%") do set /p=%1%%a <nul
作者: HAT
时间: 2008-10-30 13:48
空格数量不定
@echo off
setlocal enabledelayedexpansion
set str1=A B C D E
set str2=1 2 3 4 5 6 7 8
for %%a in (%str1%) do (
set str11=!str11! %%a
)
for %%a in (%str2%) do (
set str22=!str22! %%a
)
for /l %%a in (1,2,9) do (
set /p =!str11:~%%a,1!!str22:~%%a,1! <nul
)