Página 1 de 1

Sustituir valores iguales por valores incrementales

Publicado: 27 Jul 2016, 06:23
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

Re: Sustituir valores iguales por valores incrementales

Publicado: 27 Jul 2016, 12:22
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

Re: Sustituir valores iguales por valores incrementales

Publicado: 01 Ago 2016, 09:25
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,

Re: Sustituir valores iguales por valores incrementales

Publicado: 01 Ago 2016, 20:14
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