IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Supprimer les emojis d'un texte


Sujet :

Python

  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 175
    Par défaut Supprimer les emojis d'un texte
    Bonjour à tous,

    J'ai des textes du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    pit exit open 🚦cars grid race gold coast vasc
    need clarifi bill asap pls😎
    congrats👏mostert waters hot tip turn heat today vodasuper…
    Thanks for your support❤️
    Myself dealing with 😂
    MOn objectif est d'enlever ces emojis et pour cela j'ai testé pas mal de techniques mais toujours en vain. La dernière était avec cette condition:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      if re.search('[a-zA-Z]', text_user):
    ou je suis sensé garder que les textes... Mais malheureusement encore une fois sans résultat.

    Toute information sera le bienvenue et Merci d'avance.

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur banc de test
    Inscrit en
    Mai 2014
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur banc de test
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2014
    Messages : 199
    Par défaut
    Bonjour,

    vous pouvez rechercher les éléments à supprimer : &#\d+;

    \d+ indique un nombre entier décimal de longueur indéterminé.

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 175
    Par défaut
    Mais y-a pas une liste des émoticones que je peux l'utiliser comme corpus pour identifier les émoticones dans mon texte ?

    Si non, comment je peux définir la liste des émoticônes pour que je puisse après les chopper...

  4. #4
    Expert confirmé Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 041
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 041
    Par défaut
    salut,

    un truc dans ce genre là ? https://apps.timwhitlock.info/emoji/tables/unicode

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 175
    Par défaut
    Je vous remercie pour votre réponse. Y-a un fichier qui contient apparemment tous les émoticones mais je n'arrive pas à l'utiliser. En effet, je n'arrive pas à extraire le format unicode des ces émoticônes de mon texte, genre U+1F601...

    Voilà quelques exemples du texte que j'ai:

    ----
    track 💯🙌🏼🔥get invit ritaora rudiment live novasredroom
    😍want ritaora rudiment live novasredroom invit
    ✈️want fli melbourn guy live invit novasredroom unlock
    🔥want guy live free invit novasredroom unlock
    bumpi speedi much charact mark_skaif explain pukekoh insid set-up vasc🎥
    🚨new perk alert🚨 student score select fee
    🚨just announced🚨you rudiment novasredroom unlock 🎉keep nova
    -----

    Mon objectif est tout simplement d'extraire ces emoticône et au meilleur cas de remplacer ces emoticônes par leur description textuel. Mais cela je sais que je peux le faire juste une fois que j'arrive à chopper ces emoticônes.
    Merci beaucoup d'avance

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 677
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 677
    Par défaut
    Salut,

    Si c'est de l'unicode, rien ne vous empêche de faire une boucle, récupérer l'ord de chaque caractère, tester si c'est un emoji et, le cas échéant, le remplacer.
    note: si ce n'est pas de l'unicode, on ne sait pas trop comment sont être représentés ces emojis: &#128678, U+1F601, b'\xf0\x9f\x92\xaf',.... vont être des codages sur plusieurs caractères qui dépendront de la représentation du texte...

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  7. #7
    Expert confirmé Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 041
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 041
    Par défaut
    salut,

    en complément; on peut aussi utiliser une bonne grosse regex des familles
    l'exemple ci-dessous illustre le principe, décortiquer son fonctionnement est laissé en exercice :
    (à noter que la variable temp contient les entités sous la forme "💯", c'est le navigateur qui ensuite affiche "💯")
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    >>> import requests, re
    >>> from HTMLParser import HTMLParser
    >>> url = 'https://www.developpez.net/forums/d1776091/autres-langages/python-zope/general-python/supprimer-emojis-d-texte/'
    >>> parser = HTMLParser()
    >>> reg1 = re.compile(u'----<br />\r\n(.+)\r\n-----', re.UNICODE | re.DOTALL)
    >>> reg2 = re.compile(u'['
    ...    u'\U0001F300-\U0001F64F'
    ...    u'\U0001F680-\U0001F6FF'
    ...    u'\u2600-\u26FF\u2700-\u27BF]+',
    ...    re.UNICODE | re.DOTALL)
    >>> page = requests.get(url).text
    >>> temp = re.search(reg1, page).group(1).replace('<br />', '').replace('\r', '')
    >>> temp
    u'track 💯🙌🏼🔥get invit ritaora rudiment live novasredroom\n😍want ritaora rudiment live novasredroom invit\n✈️want fli melbourn guy live invit novasredroom unlock\n🔥want guy live free invit novasredroom unlock\nbumpi speedi much charact mark_skaif explain pukekoh insid set-up vasc🎥\n🚨new perk alert🚨 student score select fee\n🚨just announced🚨you rudiment novasredroom unlock 🎉keep nova'
    >>> texte = parser.unescape(temp)
    >>> texte
    u'track \U0001f4af\U0001f64c\U0001f3fc\U0001f525get invit ritaora rudiment live novasredroom\n\U0001f60dwant ritaora rudiment live novasredroom invit\n\u2708\ufe0fwant fli melbourn guy live invit novasredroom unlock\n\U0001f525want guy live free invit novasredroom unlock\nbumpi speedi much charact mark_skaif explain pukekoh insid set-up vasc\U0001f3a5\n\U0001f6a8new perk alert\U0001f6a8 student score select fee\n\U0001f6a8just announced\U0001f6a8you rudiment novasredroom unlock \U0001f389keep nova'
    >>> re.sub(reg2, u'', texte)
    u'track get invit ritaora rudiment live novasredroom\nwant ritaora rudiment live novasredroom invit\n\ufe0fwant fli melbourn guy live invit novasredroom unlock\nwant guy live free invit novasredroom unlock\nbumpi speedi much charact mark_skaif explain pukekoh insid set-up vasc\nnew perk alert student score select fee\njust announcedyou rudiment novasredroom unlock keep nova'

  8. #8
    Nouveau candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Mai 2023
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 19
    Localisation : Belgique

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mai 2023
    Messages : 2
    Par défaut Réponse à votre question
    Bonjour,

    Voici la réponse à votre question vous pouvez utiliser le module emoji.

    Pour ce faire vous devez installer cette bibliothèque à votre interpréteur python avec un invite de commande ou un power shell.

    Et pour le code vous pouvez adapter ça en fonction qui prendra en entrée une chaine de caractère et qui vous retournera une nouvelle chaine sans émoji.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    def remove_emoji(chaine):
        chaine_texte = emoji.demojize(chaine)
     
        return chaine_texte
    Cela remplacera les émoji de votre texte par une mini description entre balise ":"

    Exemple :

    :smiling_face_with_smiling_eyes:

    J'espère avoir répondu à votre question, Bonne journée 😉

  9. #9
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 602
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 602
    Par défaut
    5 ans 1/2 plus tard...

  10. #10
    Nouveau candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Mai 2023
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 19
    Localisation : Belgique

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mai 2023
    Messages : 2
    Par défaut
    Citation Envoyé par Arioch Voir le message
    5 ans 1/2 plus tard...
    C'est vrai j'avais pas vu la date 🤣

Discussions similaires

  1. Supprimer les apostroohes dans un texte
    Par loudji dans le forum Débuter avec Java
    Réponses: 4
    Dernier message: 06/07/2013, 14h29
  2. [RegEx] Supprimer les liens content un texte défini
    Par Mo_Poly dans le forum Langage
    Réponses: 1
    Dernier message: 22/03/2011, 20h53
  3. Supprimer les blancs dans un texte lors de l'ecriture
    Par nypahe dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 10/05/2009, 19h30
  4. Supprimer les insultes dans un texte oui mais...
    Par psychoBob dans le forum Langage
    Réponses: 19
    Dernier message: 16/04/2008, 15h03
  5. Supprimer les balises d'un texte
    Par SimoX1 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 13/03/2007, 11h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo