🍀 Das LibreOffice Forum braucht HEUTE Ihre Hilfe! 🍀
❤️ Spenden Sie jetzt und sichern Sie die Zukunft unseres LibreOffice-Forums ❤️
Ihre Spende hilft, die Community offen, werbefrei (bei Registrierung) und lebendig zu halten. Vielen lieben Dank!

🙏 DANKE >> << DANKE 🙏

>> Das LibreOffice-Forum lebt von Ihnen – und von vielen Experten, die freiwillig und kostenlos ihr Wissen teilen.<<
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

Alle Emojies aus einem Text entfernen

WRITER hat alles, was Sie von einer modernen, voll ausgestatteten Textverarbeitung erwarten.
Antworten
D-APP
Beiträge: 184
Registriert: Di 30. Mär 2021, 21:10

Alle Emojies aus einem Text entfernen

Beitrag von D-APP » Do 31. Okt 2024, 16:12

Falls jemand von Euch mal ein LOW-Dokuent hat, das Emojies enthält und diese Emojies, warum auch immer nicht mehr benötigt werden, dann hilft folgendes Script.
--- Verwendete Software ---
OS: Ubuntu aktulle LTS
Only LibreOffice, nix OO, nix Only-Office und schon garnix Microschrott ....

-Mit der trauirgen Ausnahme VM --> Win 11, MS Office akt <--- weil der AG (Bundesland) es so will ... peinlich.

D-APP
Beiträge: 184
Registriert: Di 30. Mär 2021, 21:10

Re: Alle Emojies aus einem Text entfernen

Beitrag von D-APP » Do 31. Okt 2024, 16:13

Code: Alles auswählen

Sub EntferneEmojis()
    ' Deklariere die Variablen
    Dim oDoc As Object       ' Verweist auf das aktuelle Dokument
    Dim oText As Object      ' Der Textinhalt des Dokuments
    Dim oCursor As Object    ' Der Cursor, der den Textbereich durchläuft
    Dim i As Long            ' Laufvariable für die Schleife
    
    ' Hole das aktuelle Dokument und den gesamten Text
    oDoc = ThisComponent
    oText = oDoc.Text
    
    ' Erstelle einen Textcursor für das gesamte Dokument
    oCursor = oText.createTextCursor()
    
    ' Setze den Cursor an den Anfang des Dokuments
    oCursor.gotoStart(False)
    
    ' Schleife durch den Text, bis das Ende des Dokuments erreicht ist
    Do While oCursor.goRight(1, True)
        ' Hole das aktuelle Zeichen
        Dim charText As String
        charText = oCursor.getString()
        
        ' Überprüfe, ob das Zeichen im Unicode-Bereich für Emojis und Sonderzeichen liegt
        ' Unicode Emojis und viele Sonderzeichen haben einen Unicode-Wert > 1000
        If Asc(charText) > 1000 Then
            ' Wenn das Zeichen ein Emoji ist, löschen
            oCursor.setString("")
        Else
            ' Auswahl aufheben und weiter zum nächsten Zeichen
            oCursor.collapseToEnd()
        End If
    Loop
End Sub
--- Verwendete Software ---
OS: Ubuntu aktulle LTS
Only LibreOffice, nix OO, nix Only-Office und schon garnix Microschrott ....

-Mit der trauirgen Ausnahme VM --> Win 11, MS Office akt <--- weil der AG (Bundesland) es so will ... peinlich.

D-APP
Beiträge: 184
Registriert: Di 30. Mär 2021, 21:10

Re: Alle Emojies aus einem Text entfernen

Beitrag von D-APP » Do 31. Okt 2024, 16:17

Wer Ideen zur Optimierung hat ... ich freue mich.
--- Verwendete Software ---
OS: Ubuntu aktulle LTS
Only LibreOffice, nix OO, nix Only-Office und schon garnix Microschrott ....

-Mit der trauirgen Ausnahme VM --> Win 11, MS Office akt <--- weil der AG (Bundesland) es so will ... peinlich.

Benutzeravatar
karolus
* LO-Experte *
Beiträge: 2712
Registriert: Fr 10. Dez 2010, 10:01

Re: Alle Emojies aus einem Text entfernen

Beitrag von karolus » Do 31. Okt 2024, 16:54

Alternativ geht auch schlicht Suchen und Ersetzen:

suche nach [\p{Emoji}]
ersetzen durch nix…fertig!

(natürlich mit der Option: [x]regulärer Ausdruck)

und ist so auch wesentlich robuster… es soll tatsächlich auch andere Zeichen im Bereich grösser als \uea8 geben :o

zum schlau machen: https://unicode-org.github.io/icu/userg ... rties.html
LO25.2.x.y debian 13(trixie) auf Raspberry5 8GB (64bit)
LO25.8.x.y flatpak debian 13(trixie) auf Raspberry5 8GB (64bit)

D-APP
Beiträge: 184
Registriert: Di 30. Mär 2021, 21:10

Re: Alle Emojies aus einem Text entfernen

Beitrag von D-APP » Do 31. Okt 2024, 17:08

karolus hat geschrieben:
Do 31. Okt 2024, 16:54
Alternativ geht auch schlicht Suchen und Ersetzen:

suche nach [\p{Emoji}]
ersetzen durch nix…fertig!

(natürlich mit der Option: [x]regulärer Ausdruck)

und ist so auch wesentlich robuster… es soll tatsächlich auch andere Zeichen im Bereich grösser als \uea8 geben :o

zum schlau machen: https://unicode-org.github.io/icu/userg ... rties.html
Danke, ich finde Deine Lösung wesentlich besser!

Aber ✨🎁 u.a. werden damit nicht ersetzt? Was kann ich tun?
--- Verwendete Software ---
OS: Ubuntu aktulle LTS
Only LibreOffice, nix OO, nix Only-Office und schon garnix Microschrott ....

-Mit der trauirgen Ausnahme VM --> Win 11, MS Office akt <--- weil der AG (Bundesland) es so will ... peinlich.

Benutzeravatar
karolus
* LO-Experte *
Beiträge: 2712
Registriert: Fr 10. Dez 2010, 10:01

Re: Alle Emojies aus einem Text entfernen

Beitrag von karolus » Do 31. Okt 2024, 17:18

Was kann ich tun?…
…meinen Beitrag nicht nur komplett zitieren, sondern auch lesen, und den Link in der letzten Zeile aufsuchen
LO25.2.x.y debian 13(trixie) auf Raspberry5 8GB (64bit)
LO25.8.x.y flatpak debian 13(trixie) auf Raspberry5 8GB (64bit)


An alle, die das LibreOffice-Forum gern nutzen:
Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das laufende.
Einfach per Kreditkarte oder PayPal. Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.



❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten