|
pusofalse
银牌会员
    
积分 1604
发帖 646
注册 2008-4-13
状态 离线
|
『楼 主』:
[已结]替换变量随机位置的字符为空格
使用 LLM 解释/回答一下
如题。。。
var=abcdefghijk
输出后是a cde gh jk
随机位置 但字符位置不变。。。c还是在第三位~
@echo off&setlocal enabledelayedexpansion
set var=abcdefghijk
set n=-1
:lp
set /a n+=1
call,set str=%%var:~%n%,1%%
if defined str (
if "!n!" equ "!random:~2,1!" set "str= "
set pus=!pus!!str!
goto :lp
)
echo %pus%
pause
Last edited by pusofalse on 2008-5-6 at 05:44 PM ]
|
|
2008-5-6 17:12 |
|
|
slore
铂金会员
      
积分 5212
发帖 2478
注册 2007-2-8
状态 离线
|
|
2008-5-6 17:48 |
|
|
slore
铂金会员
      
积分 5212
发帖 2478
注册 2007-2-8
状态 离线
|
|
2008-5-6 17:51 |
|
|
bat-zw
金牌会员
      永远的学习者
积分 3105
发帖 1276
注册 2008-3-8
状态 离线
|
 『第 4 楼』:
我先给出一个空格的代码吧:
使用 LLM 解释/回答一下
@echo off
set str=abcdefghijk
set /a a=%random%%%10
call,set var=%%str:~%a%,1%%
call,set str=%%str:%var%= %%
echo %str%
pause>nul
Last edited by zw19750516 on 2008-5-6 at 05:55 PM ]
|

批处理之家新域名:www.bathome.net |
|
2008-5-6 17:52 |
|
|
pusofalse
银牌会员
    
积分 1604
发帖 646
注册 2008-4-13
状态 离线
|
『第 5 楼』:
使用 LLM 解释/回答一下
Originally posted by zw19750516 at 2008-5-6 05:52 PM:
@echo off
set str=abcdefghijk
set /a a=%random%%%10
call,set var=%%str:~%a%,1%%
call,set str=%%str:%var%= %%
echo %str%
pause>nul
Last edited by zw19750516 on 2008-5 ...
还是你这好些~ 谢了!
|
|
2008-5-6 18:03 |
|
|
slore
铂金会员
      
积分 5212
发帖 2478
注册 2007-2-8
状态 离线
|
『第 6 楼』:
使用 LLM 解释/回答一下
@echo off
set str=ss有重复结果就...sss
set /a a=%random%%%14
call,set var=%%str:~%a%,1%%
call,set str=%%str:%var%= %%
echo %str%
pause>nul
|
|
2008-5-6 18:10 |
|
|
joyn
中级用户
   丶杏灬丶
积分 280
发帖 105
注册 2008-5-6 来自 广西
状态 离线
|
|
2008-5-6 18:22 |
|
|
joyn
中级用户
   丶杏灬丶
积分 280
发帖 105
注册 2008-5-6 来自 广西
状态 离线
|
|
2008-5-6 19:10 |
|
|
bat-zw
金牌会员
      永远的学习者
积分 3105
发帖 1276
注册 2008-3-8
状态 离线
|
|
2008-5-6 19:15 |
|
|
zh159
金牌会员
     
积分 3687
发帖 1467
注册 2005-8-8
状态 离线
|
|
2008-5-6 22:18 |
|
|
huahua0919
银牌会员
    
积分 1608
发帖 780
注册 2007-10-7
状态 离线
|
|
2008-5-7 09:15 |
|
|
joyn
中级用户
   丶杏灬丶
积分 280
发帖 105
注册 2008-5-6 来自 广西
状态 离线
|
|
2008-5-7 10:52 |
|
|
huahua0919
银牌会员
    
积分 1608
发帖 780
注册 2007-10-7
状态 离线
|
『第 13 楼』:
使用 LLM 解释/回答一下
如果字符串是 afefeav
你本想替换的是v前面的a,可是替换的时候将第一个a也替换了,
|
|
2008-5-7 11:02 |
|
|
bat-zw
金牌会员
      永远的学习者
积分 3105
发帖 1276
注册 2008-3-8
状态 离线
|
『第 14 楼』:
这样就不怕重复字符了:
使用 LLM 解释/回答一下
@echo off&setlocal enabledelayedexpansion
set str=aaaaaaaaaa
set n=0&set m=0&set x=0
:set
set /a a=%random%%%10+1
for %%i in (%code%) do if %%i equ %a% goto set
set /a x+=1&set code=%code% %a%
if %x% lss 3 goto set
:lp
set /a n+=1
for %%i in (%code%) do if %%i equ %n% set m=1
if %m% equ 0 (
set var=!var!%str:~,1%
) else (
set "var=!var! "
)
set str=%str:~1%&set m=0
if defined str goto lp
echo !var!
pause>nul
Last edited by zw19750516 on 2008-5-7 at 03:46 PM ]
|

批处理之家新域名:www.bathome.net |
|
2008-5-7 15:45 |
|
|
youling126
初级用户
 
积分 87
发帖 42
注册 2008-5-7
状态 离线
|
|
2008-5-8 02:19 |
|