Что нового

[Данные, строки] Как определить длинну текстовой переменной

forfrends

Новичок
Сообщения
176
Репутация
3
Привет всем! И спасибо что всегда отвечаете и помогаете :smile: :IL_AutoIt_1:
У меня есть переменная
$Text
Содержание этой переменной может быть любое (и любая длинна) примено такое:
hE1j8KL
Длинна переменной может варьироваться от одного символа до максимальной длинны переменной.
Само изменение должно происходит таким образом:
Берется последний символ переменной, изменяется,
потом берется предпоследний символ, изменяется,
потом берется предпредпоследний символ, изменяется и т.д. до первого символа переменной
Как это написать? подскажите.
 

gregaz

AutoIT Гуру
Сообщения
1,166
Репутация
299
Код:
$sString='hE1j8KL'
$iLen=StringLen ( $sString) 

For $i=1 To $iLen
	$sLetter=StringMid ( $sString, $iLen-$i,1 )
	$sNewString=StringReplace ($sString, $sLetter, '-' )
	ConsoleWrite($sNewString & @LF)
Next
 
Автор
F

forfrends

Новичок
Сообщения
176
Репутация
3
Спасибо большое!
Это я и искал и не мог найти в справке :smile: ;D
 

gregaz

AutoIT Гуру
Сообщения
1,166
Репутация
299
Или так : (здесь идет последовательная замена всех букв На "-"
Код:
$sString='hE1j8KL'
$iLen=StringLen ( $sString) 
dim $sNewString=$sString
For $i=0 To $iLen-1
	$sLetter=StringMid ( $sString, $iLen-$i,1 )
	$sNewString=StringReplace ($sNewString, $sLetter, '-' )
	ConsoleWrite($sNewString & @LF)
Next
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Или так:
Код:
Dim $aNew[8] = [8, "A", "b", "C", "d", "E", "f", "G"]
$sText = "hE1j8KL"
$sLong = StringLen($sText)
MsgBox(0, "", "Длина строки - " & $sLong & " знаков.")
For $i = $sLong To 1 Step -1
	$sText = StringReplace($sText, $i, $aNew[$i])
	MsgBox(0, "", $sText)
Next
 
Верх