Ersetzen von Ausdrücken

Seite 1 von 1 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/ersetzen-von-ausdruecken_250547/page_1 - zur Vollversion wechseln!


Blaues U-boot schrieb am 13.01.2018 um 13:57

Servus,

ich habe eine C-funktion bekommen, die ich nun umbauen muss.
vorhanden sind ausdrücke in der form:

Code:
array[i][j][k]
und ich brauche diese aber in der form:
Code:
array[funktion(i, j, k, size_x, size_y)]
das ist kein problem, jedoch können statt i, j, k, auch i+1, i-1, i+2, usw. und das in beliebiger kombination mit den anderen indizes vorkommen.
geht das mit Reguläre Ausdrücke und simples suchen und ersetzen in notepad++?
ich bekomms einfach nicht hin und händisch ändern ist bei tausenden zeilen keine option.

tia


that schrieb am 13.01.2018 um 14:22

In vim gehts zumindest so:

Code:
:%s/array\[\(.\{-\}\)\]\[\(.\{-\}\)\]\[\(.\{-\}\)\]/array\[funktion(\1, \2, \3, size_x, size_y)\]/g


Blaues U-boot schrieb am 13.01.2018 um 15:53

danke, habs nun hinbekommen mit notepad++

Code:
rho\[(\w\s?[[:punct:]]?\s?\w?)\]\[(\w\s?[[:punct:]]?\s?\w?)\]\[(\w\s?[[:punct:]]?\s?\w?)\]
ersetzen mit
Code:
rho\[lookup_3d\(\1, \2, \3\, size_x, size_y\)\]
scheint zu funken und berücksichtig auch das die whitespaces nicht immer konsistent sind ...
aber mein hirn is nun am ende, nach dem erlernen von reguläre ausdrücke von 0 weg :D
beispiele dazu erscheinen einem am anfang wie voodoo




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025