Tool um Parameter mit Makro zu versehen (unicode umstellung)

Ich habe folgende Problematik. Ich habe eine riesengroße Menge an C/C++-Sourcefiles. Da kommen Funktionen vor wie doSomething(1,TRUE,"TEXTSTRING")
Jetzt wird aus diesem Text aber Unicode, also muss ein Makro herumgestrickt werden.
soll dann so ungefähr aussehen:
doSomething(1,TRUE,UNI("TEXTSTRING"))

könnte man natürlich versuchen irgendwie mit suchen&ersetzen machen, aber es gibt leider einige spezialfälle:
z.B kann es so aussehen:
Code:
doSomething(1,TRUE, "TEXTSTRING"
"ZEILE2" S "TEXT, bla bla bla"
"ZEILE3"
)
werde mir vermutlich leider eh ein eigenes tool schreiben müssen, aber ich denke ähnliche Problem haben sicher schon viele gehabt...
 
Folgendes funktioniert bei mir in vim, zumindest wenn alles in einer Zeile steht, aber für diese Einschränkung gibt es sicherlich eine entsprechende Option:
s/doSomething(1,TRUE,\([^\[]*\))/doSomething(1,TRUE,UNI(\1))/
 
danke mal, ich versuche das Problem auch gerade mal mit Regexp und meinem Texteditor Scite zu zähmen.

Der zu ersetzende Text ist meist so aufgebaut:

function(param, TYPE_RUN, "Hier der Text")

jetzt könnte ich mir zunutzen machen das der zweite Parameter immer TYPE_RUN ist.
ich versuche gerade folgendes:
find: TYPE_RUN[\s]*,
replace: TYPE_RUN,UNI(

das funktioniert mal soweit, dass ich zumindest das habe:
function(param, TYPE_RUN,UNI("Hier der Text")

die schließende klammer fehlt noch, aber das kriegt man hin. Ein Problem ist halt dass er die Blanks bzw.Umbrüche zwichen TYPE_RUN und , wegmacht. Irgendwie geht das doch mit $1, aber leider löst das der scite nicht auf...

Anmerkung: Problem schematisch stark vereinfacht, aber so ungefähr schauts aus...
 
Zurück
Oben