Что нового

Данные, строки [решено] найти в тхт файле дубликаты текста и сделать их уникальными

Tosyk

Новичок
Сообщения
206
Репутация
0
Приветствую!

у меня есть такой текстовый файл:
Код:
version 1
nodes
0 "Bip_Pelvis" -1

<...>

240 "1FC8040F" 239
241 "00000000" 0
242 "00000000" 0
243 "00000000" 0
244 "00000000" 0
245 "00000000" 0
246 "00000000" 0
247 "00000000" 0
248 "00000000" 0
249 "00000000" 0
250 "00000000" 0
251 "00000000" 0
252 "00000000" 0
253 "00000000" 0
254 "00000000" 0
255 "00000000" 0
256 "Bip_BackWind_Helper" 11
257 "Bip_UpperArmTwist_R" 13
258 "Bip_UpperArmTwist_L" 17

<...>

и мне нужно найти все дублирующиеся части текста (в данном случае это: 00000000) и добавить к ним префикс (Bip_) и суффикс (_XX - это нумератор), чтобы получился такой текстовый файл:
Код:
version 1
nodes
0 "Bip_Pelvis" -1

<...>

240 "1FC8040F" 239
241 "Bip_00000000_01" 0
242 "Bip_00000000_02" 0
243 "Bip_00000000_03" 0
244 "Bip_00000000_04" 0
245 "Bip_00000000_05" 0
246 "Bip_00000000_06" 0
247 "Bip_00000000_07" 0
248 "Bip_00000000_08" 0
249 "Bip_00000000_09" 0
250 "Bip_00000000_10" 0
251 "Bip_00000000_11" 0
252 "Bip_00000000_12" 0
253 "Bip_00000000_13" 0
254 "Bip_00000000_14" 0
255 "Bip_00000000_15" 0
256 "Bip_BackWind_Helper" 11
257 "Bip_UpperArmTwist_R" 13
258 "Bip_UpperArmTwist_L" 17

<...>

помогите, как такое сделать?

----------------------------------------------------
Получилось вот так:

Код:
#include <File.au3>
Local $sFileName = @ScriptDir & "\Demo.txt"
Local $aFileData
_FileReadToArray($sFileName, $aFileData)
Local $sFileData, $iCount = 1
For $i = 1 To $aFileData[0]
    $aFileData[$i] = StringRegExpReplace($aFileData[$i], '([0-9]{3} \")([0]{8})(["]{1})', "$1Bip_$2_" & StringFormat("%02d", $iCount) & "$3")
    If @extended Then $iCount += 1
Next
Local $hFileOpen = FileOpen(@ScriptDir & "\Updated.txt", 2)
FileWrite($hFileOpen, _ArrayToString($aFileData, @CRLF, 1))
FileClose($hFileOpen)
ShellExecute(@ScriptDir & "\Updated.txt")
 
Последнее редактирование:

InnI

AutoIT Гуру
Сообщения
4,911
Репутация
1,427
Получилось вот так
При публикации чужого кода принято давать ссылку на первоисточник
 
Верх