Что нового

[Данные, строки] Замена строк на случаные буквы/цифры (без повтора)

N4rk0z34

Новичок
Сообщения
3
Репутация
0
Перейду сразу к делу.

Вобщем есть файл (допустим, текстовый документ) в котором такие строки:
Код:
#Action 1
RePlaceMe
#Action 2
RePlaceMe
#Action 3
RePlaceMe
#Action 4

И так далее...

Цель: заменить строки RePlaceMe на случайные буквы/цифры, но без повторения! (Функция получения случайных букв/цифр приведена ниже, если кому-то нужна.)


Код:
Func _RandomString($length)
	$chars = StringSplit("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", "")
	$string = ""
	$i3 = 0
	Do
		If $length <= 0 Then ExitLoop
		$string &= $chars[Random(1, $chars[0])]
		$i3 += 1
	Until $i3 = $length
	Return $string
EndFunc   ;==>_RandomString



P.s. строк RePlaceMe в файле очень много.

Как я не пытался у меня получается примерно такое (я использовал StringReplace):
Код:
#Action 1
sdf43tgfy5gh
#Action 2
sdf43tgfy5gh
#Action 3
sdf43tgfy5gh
#Action 4

И так далее...

Как вы видите, строка "sdf43tgfy5gh" повторяется, а нужно что-бы было примерно так:

Код:
#Action 1
4g3789tyerohg
#Action 2
bg54uy7рqjh55
#Action 3
ntiou6509yu5t
#Action 4

И так далее...

Буду весьма благодарен за ответ :thumbs_up: .

Используйте для AutoIt кода тег [autoit]
autoit.gif

madmasles.
 

C2H5OH

AutoIT Гуру
Сообщения
1,473
Репутация
333
Код:
While 1
	$text = StringReplace($text, "RePlaceMe", _RandomString(12), 1)
	If @extended = 0 Then ExitLoop
WEnd
 

InnI

AutoIT Гуру
Сообщения
4,613
Репутация
1,299
OffTopic:
madmasles
Похоже на стилизованный Narkoz34 - в лучших традициях фильма }{[email protected]БЬ)Ч
 
Верх