Sustituir valores iguales por valores incrementales

Pregunta Sin Miedo no te cortes cualquier cosa para empezar - Autoit se comienza facilmente.Para Ordenes o Comandos sueltos. Ver nota como preguntar.
Responder
diego999
Mensajes: 15
Registrado: 07 Sep 2014, 11:23

Sustituir valores iguales por valores incrementales

Mensaje por diego999 »

Necesito ayuda,tengo muchas lineas en notepad++,asi:
Algo algo algo
Texto 18
Algo algo algo
Texto 18
Algo algo algo
Texto 18

y necesito que queden asi:

Algo algo algo
Texto 36
Algo algo algo
Texto 54
Algo algo algo
Texto 72
etc..
Es decir ,van de 18 en 18,habra alguna forma de reemplazarlas todas juntas de una vez para no hacerlo una por una ? ya que son miles,y tengo que llegar casi a 20000,gracias
Avatar de Usuario
arkcrew
Profesional del Autoit
Mensajes: 506
Registrado: 28 Sep 2009, 19:17
Ubicación: Granada, España
Contactar:

Re: Sustituir valores iguales por valores incrementales

Mensaje por arkcrew »

Buenas,

A ver si me aclaro, quieres ir reemplazando los 18 por incrementos de +18?

Eso es tremendamente fácil, puedes leer el fichero linea a linea (File read, filereadline) , e ir reemplazando el 18 (StrReplace) por una variable, llamemosla $incremento que iniciamente será 0 o 18, e irá sumando tras cada replace 18 a su valor, de esta manera podrías solucionar tu problema.

Un saludo
diego999
Mensajes: 15
Registrado: 07 Sep 2014, 11:23

Re: Sustituir valores iguales por valores incrementales

Mensaje por diego999 »

arkcrew escribió:Buenas,

A ver si me aclaro, quieres ir reemplazando los 18 por incrementos de +18?

Eso es tremendamente fácil, puedes leer el fichero linea a linea (File read, filereadline) , e ir reemplazando el 18 (StrReplace) por una variable, llamemosla $incremento que iniciamente será 0 o 18, e irá sumando tras cada replace 18 a su valor, de esta manera podrías solucionar tu problema.

Un saludo
Algo asi ? : pero no se como continuar
#include <Array.au3>
#include <File.au3>
#include <WinAPI.au3>
#include <String.au3>


local $cadena=FileRead("D:\texto.txt")
$string = "texto 18"
Local $string = _StringReplace($cadena,
Avatar de Usuario
Dany
Profesional del Autoit
Mensajes: 651
Registrado: 28 Mar 2012, 22:49

Re: Sustituir valores iguales por valores incrementales

Mensaje por Dany »

Hola. Probablemente algo así.

Código: Seleccionar todo

#include <Array.au3>
Local $aLines = FileReadToArray("1.txt")
Local $iCount = 2
For $i = 0 To UBound($aLines) - 1
	If StringInStr($aLines[$i], "18") Then
		ConsoleWrite(StringReplace($aLines[$i], "18", String($iCount*18)) & @CRLF)
		FileWrite("newfile.txt", StringReplace($aLines[$i], "18", String($iCount*18)) & @CRLF)
		$iCount+=1
	Else
		FileWrite("newfile.txt", $aLines[$i] & @CRLF)
	EndIf
Next
Saludos
  • ............................................Imagen
    ......................................Imagen
Responder