[Gelöst] Wie mit Perl zwischen (Kleinbuchstabe+Großbuchstabe) etwas einfügen?

Begonnen von dadoc, 26 September 2016, 20:51:56

Vorheriges Thema - Nächstes Thema

dadoc

Guten Abend,
habe das Thema der Regex und Perl-Ersetzungen in den letzten Jahren eifrig studiert, aber hier stoße ich an meine Grenzen, zumal ich zu dieser Fragestellung auch durch exzessives Googeln nichts gefunden habe.
Über das fhem Enigma-Modul liefern ältere Kathrein-Receiver Readings, bei denen anscheinend Absätze und Sätze allgemein direkt, d.h. ohne Leerzeichen oder Umbruch "aneinandergeklatscht" werden.
Mit welcher Regex kann ich z.B. (KleinbuchstabeGroßbuchstabe) durch (Kleinbuchstabe <p> Großbuchstabe) ersetzen?

Vielen Dank für die (Er)Lösung
Martin
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods

justme1968

z.b. so:$text =~ s/([a-z])([A-Z])/$1<p>$2/g;

aber bist du sicher das da nicht doch irgendein zeichen dazwischen ist das nur auf dem weg ins reading rausgefiltert wird weil es kein darstellbares (ascii) zeichen ist?

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

dadoc

Vielen Dank Andre,
Ich vermute eher, dass der Verlust der Wort-/Absatztrenner schon im Kathrein-Receiver passiert, denn dort konvertiert ein Addon die Titannit-Daten auf Enigma2.
Das sieht dann Z.B. In fhem so aus:
ZitatKrimi, Österreich 2015ŠMajor Peter Palfinger tritt seinen Dienst in Salzburg an. Zur selben Zeit wird direkt an der Grenze zu Bayern die Leiche des deutschen Immobilienmaklers Walter Holzer aufgefunden.ŠDer Anlagebetrüger hinterlässt so manch Geschädigten, als Mörder kommen viele in Frage - auch wenn vorerst offiziell von einem Jagdunfall die Rede ist. Palfinger nimmt die Ermittlungen auf.ŠDarsteller:ŠPeter Palfinger - Florian TeichtmeisterŠHubert Mur - Michael FitzŠIrene Russmeyer - Fanny KrauszŠAlfons Seywald - Erwin SteinhauerŠSebastian Palfinger - Simon HatzlŠNico Brix - Harald WindischŠDave Harper - Max MüllerŠAngelika Holzer - Isabel KarajanŠSimon Wächter - Nikolaus BartonŠStefan Sandberger - Hary PrinzŠLandtagspräsidentin Zirner - Susanne CzeplŠund andereŠRegie: Erhard RiedlspergerŠBuch/Autor: Erhard Riedlsperger, Klaus OrtnerŠKamera: Kai LongoliusŠMusik: Dominik GiesrieglŠHD-ProduktionŠAltersfreigabe: 12
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods

dadoc

Du hattest Recht. Da ist ein Zeichen dazwischen, und zwar Š, Unicode-Nummer U+008A (138), Steuerzeichen VTS (Line Tabulation Set): Zeilentabulierung setzen. Wird aber hier im Beitrag nicht angezeigt, nur im Editierfeld.
Es lässt sich ganz unproblematisch mit
$kathi_eventdescription =~ s/\Š/\<p\>/g ;
ersetzen (habe es ins Notify reinkopiert, weil ich nicht wusste, wie man es erzeugt).
Danke nochmals!
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods