Einzelnen Beitrag anzeigen

Benutzerbild von cruiser
cruiser

Registriert seit: 23. Dez 2003
Ort: Königsbrück/Sachsen
455 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: komma zwischen zwei ' ' finden.

  Alt 14. Jul 2009, 22:38
Naja.. ein Regex-Replace wäre schon drin

das Regexpattern wäre dann
Code:
('.*?),(.*?')
Erläuterung:
( - Suche beginnen
' - das Zeichen '
.*? - eine beliebige anzahl beliebiger Zeichen bis zur nächsten angegebenen Grenze
) - Suche beenden
, - Das Zeichen ,
( - Suche beginnen
.*? - eine beliebige anzahl beliebiger Zeichen bis zur nächsten angegebenen Grenze
' - das Zeichen '
) - Suche beenden


und der Replacestring
Code:
\1.\2
Erläuterung:
\1 - Ergebnis aus erster Suche
. - Das Zeichen .
\2 - Ergebnis aus zweiter Suche

und dann noch der Einsatz der Klasse:
Delphi-Quellcode:
var
  regex: TRegExpr;
begin
  regex := TRegExpr.Create;
  regex.Expression := '(''.*?),(.*?'')';
  result := regex.Replace(input, '${1}.${2}', true);
  regex.Free;
end;
Es wird also nach variablen Strings gesucht, die mit ' beginnen und enden und ein Komma in der Mitte haben. Das Komma wird dann durch einen Punkt Ersetzt.

Eine Klasse TRegExpr gibt es da http://regexpstudio.com/

Ansonsten kannst du dir natürlich auch eine eigene Methode mit Pos und Co zum Auseinanderpfriemeln baun.
  Mit Zitat antworten Zitat