Seite 1 von 1

Alle Emojies aus einem Text entfernen

Verfasst: Do 31. Okt 2024, 16:12
von D-APP
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.

Re: Alle Emojies aus einem Text entfernen

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

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

Re: Alle Emojies aus einem Text entfernen

Verfasst: Do 31. Okt 2024, 16:17
von D-APP
Wer Ideen zur Optimierung hat ... ich freue mich.

Re: Alle Emojies aus einem Text entfernen

Verfasst: Do 31. Okt 2024, 16:54
von karolus
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

Re: Alle Emojies aus einem Text entfernen

Verfasst: Do 31. Okt 2024, 17:08
von D-APP
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?

Re: Alle Emojies aus einem Text entfernen

Verfasst: Do 31. Okt 2024, 17:18
von karolus
Was kann ich tun?…
…meinen Beitrag nicht nur komplett zitieren, sondern auch lesen, und den Link in der letzten Zeile aufsuchen