Probleme mit Kontoaktualisierung

mh at mike.franken.de mh at mike.franken.de
Tue Dec 26 11:57:27 GMT 2023


On Montag, 25. Dezember 2023 22:19:21 CET Thomas Baumgart via KMyMoney wrote:
> On Sonntag, 24. Dezember 2023 15:34:50 CET mh--- via KMyMoney wrote:
[...]
> > <TRANSACTION dateposted="2023-12-22" payee="" action="none"
> > amount="-211/25" memo="MICHAEL HIRMKE AMZN Mktp DE*3A7OC0625     LUX
> > 800-279-6620 Karten-Nr. XXXXXXXXXXXXXXXXBeleg vom 20.12.2023 für
> > Abrechnung Dezember" number="" bankid="A000259-2023-12-22-1e12880-1"
> > reconcile="0"/>
> > 
> > oder
> > 
> >   <TRANSACTION dateposted="2023-12-22" payee="" action="none"
> >   amount="-211/25"> 
> > memo="MICHAEL HIRMKE&#xa;AMZN Mktp DE*3A7OC0625     LUX
> > 800-279-6620&#xa;Karten-Nr. XXXXXXXXXXXXXXXXBeleg vom 20.12.2023&#xa;für
> > Abrechnung Dezember" number="" bankid="A000259-2023-12-22-1e12880-1"
> > reconcile="0"/>
> > 
> > wenn ich nicht die Zeilenumbrüche entfernen lasse.
> > Es steht also alles im MEMO-Feld.
> > 
> > Sowas wie
> > 
> > ^MICHAEL HIRMKE&#xa;(.+?)&#xa;
> > 
> > sollte doch dann den Empfänger in $1 fangen.
> > Klappt aber leider nicht 8-(
> 
[...]
> 
> Also könnte etwa
> 
> ^[^\x{0A}]*\x{0A}(.{27})
> 
> die bessere Wahl sein. Für das Memo kannst Du dann folgenden Ausdruck
> probieren:
> 
> ^[^\x{0A}]*\x{0A}.{27}(.*)

leider funktioniert weder

'^[^\x{0A}]*\x{0A}(.{27})'

noch

'^.*?&#xa;(.{27})'

in kmymoney.

In Perl hingegen klappt:

$rp = qq(^[^\x0A]*\x0A(.{27}));
$rm = qq(^[^\x0A]*\x0A.{27}(.*));
$t = qq(MICHAEL HIRMKE\x0AAMZN Mktp DE*3A7OC0625     LUX 
800-279-6620\x0AKarten-Nr. XXXXXXXXXXXXXXXXBeleg vom 20.12.2023\x0Afür 
Abrechnung Dezember);

if( $t =~ /${rp}/i ) {
  print ">", $1, "<\n";
} else {
  print "no match for payee!\n";
}
if( $t =~ /${rm}/i ) {
  print ">", $1, "<\n";
} else {
  print "no match for memo!\n";
}

ergibt:

>AMZN Mktp DE*3A7OC0625     <
>LUX 800-279-6620&#xa;Karten-Nr. XXXXXXXXXXXXXXXXBeleg vom 20.12.2023&#xa;für 
Abrechnung Dezember<

Und auch mit

$rp = '^.*?&#xa;(.{27})';
$rm = '^.*?&#xa;.{27}(.*)';
$t = 'MICHAEL HIRMKE&#xa;AMZN Mktp DE*3A7OC0625     LUX 
800-279-6620&#xa;Karten-Nr. XXXXXXXXXXXXXXXXBeleg vom 20.12.2023&#xa;für 
Abrechnung Dezember';

klappts.

Ciao.
Michael.





More information about the KMyMoney mailing list