🙏 Bitte helfen Sie uns das LibreOffice Forum zu erhalten. 🙏
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.

🍀 Wir hoffen auf Ihre Unterstützung - vielen Dank!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 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: 156
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.

D-APP
Beiträge: 156
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

D-APP
Beiträge: 156
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.

Benutzeravatar
karolus
* LO-Experte *
Beiträge: 2533
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
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)

D-APP
Beiträge: 156
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?

Benutzeravatar
karolus
* LO-Experte *
Beiträge: 2533
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
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten