Combinez des chaînes répétitives en une seule avec des expressions régulières Python.

Chose que tu veux faire

Je voulais faire quelque chose lorsque les caractères intégrés dans le PDF étaient étranges. Je veux ressembler à ci-dessous. Je veux combiner les mêmes personnages lorsqu'ils sont répétés successivement.

Ah ah → Ah Aiuueo → Aiueo ABCABCABC → ABCABCABC Consentement Yui Yui → Consentement Yui Yui

Ce que j'ai fait

python


    #On suppose que le résultat contient déjà une chaîne de caractères
    result = re.sub(r"(.)\1{1,}", "\g<1>", result)  #Collecter des chaînes répétitives

Autres extraits

Formatage du texte


import re
from unicodedata import normalize
def clean_text(txt:str):
    result = re.sub(r"\s| ",'',txt)                #Supprimez d'abord les caractères vides pour alléger le traitement
    result = normalize('NFKC', result)              #Normalisation Unicode
    result = re.sub(r"(.)\1{1,}", "\g<1>", result)  #Collecter des chaînes répétitives
    if (')(cid:' in result):                        #Correspondance en cas de PDF incorporé de caractères
        return ''
    return result

Essayons Louis Copipe!

Louise


import re

text = "Louise! Louise! Louise! Ruizuuuuuuuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa !! !!\n\
Ah ah ah ... ah ... ah! Ah ah ah ah! !! !! Louise Louise Louise Wow Wow Ah Ah! !! !!\n\
Ah Kunka Kunka! Kunka Kunka! Suha Suha! Suha Suha! Ça sent bon ... Kun\n\
Hmm! Je veux presser les cheveux blonds roses de Louise Françoise-bronzée! Kunka Kunka! Aa! !!\n\
trompé! Je veux être moelleux! Mofumofu! Mofumofu! Cheveux Cheveux Mofumofu! Croustillant Mofumofu ... Kyun Kyun Kyu! !!\n\
Le 12e volume du roman, Louise, était mignon! !! Ah ah ah ah ah ah! !! Fahhhhh! !!\n\
Je suis content que la deuxième saison de l'anime ait été diffusée, Ruiz-tan! Oh oh oh oh! mignonne! Louise! mignonne! A-aa ~ aa!"

print(re.sub(r"(.)\1{1,}", "\g<1>", text))

#Louise! Louise! Louise! Louis Wow Wow!
#Ah ... ah ... ah! Aa! Louise Louise Louise Wow!
#Ah Kunka Kunka! Kunka Kunka! Suha Suha! Suha Suha! Ça sent ... kun
#Hmm! Je veux presser les cheveux blonds roses de Louise Françoise-bronzée! Kunka Kunka! Aa!
#trompé! Je veux être moelleux! Mofumofu! Mofumofu! Cheveux moelleux! Croustillant Mofumofu ... Kyun Kyun Kyu!
#Le 12e volume du roman, Louise, était mignon! Ah ... ah ... ah! Fah!
#Je suis content que la deuxième saison de l'anime ait été diffusée, Ruiz-tan! Aa! Mignonne! Louise! Mignonne! Ahhhh!

référence

Remplacement inversé. J'ai vu diverses choses, mais j'ai senti qu'elles étaient toutes là.

Regroupement lors de l'utilisation d'expressions régulières en Python. Pour Python, il m'a fallu un certain temps pour réaliser que je devais écrire \ g <1> au lieu de $ 1.

Recommended Posts

Combinez des chaînes répétitives en une seule avec des expressions régulières Python.
Remplacement de chaîne par une expression régulière Python
Déterminer si la chaîne est l'heure avec une expression régulière python
Faites une loterie avec Python
Manipulation d'expressions régulières par Python
Faisons une interface graphique avec python.
Créer un système de recommandation avec python
Faisons un graphe avec python! !!
Récupérez la chaîne correspondante dans l'expression régulière et réutilisez-la lors du remplacement sur Python3
Faisons un jeu de shiritori avec Python
J'ai essayé de créer une expression régulière de "montant" en utilisant Python
J'ai essayé de créer une expression régulière de "temps" en utilisant Python
J'ai essayé de créer une expression régulière de "date" en utilisant Python
Faisons la voix lentement avec Python
Créez un framework Web avec Python! (1)
Créez une application de bureau avec Python avec Electron
Faisons un bot Twitter avec Python!
Créez un framework Web avec Python! (2)
[Python] Une fonction qui recherche la chaîne de caractères entière avec une expression régulière et obtient toutes les chaînes de caractères correspondantes.
Créer un bot Twitter Trend avec heroku + Python
Je veux faire un jeu avec Python
Essayez de créer un code de "décryptage" en Python
Créez un jeu Janken en une seule ligne (python)
Remplaçons UWSC par Python (5) Faisons un robot
Essayez de créer un groupe de dièdre avec Python
Décrypter une chaîne chiffrée sur iOS avec Python
[Python] Expression (1,2) ne fait pas de taple avec des parenthèses
expression lambda de python ...
Expression régulière en pymongo
mémo d'expression régulière python
Expression régulière en Python
Comment convertir / restaurer une chaîne avec [] en python
Faisons un outil de veille de commande avec python
[Pratique] Créez une application Watson avec Python! # 2 [Fonction de traduction]
[Pratique] Créez une application Watson avec Python! # 1 [Discrimination linguistique]
Créez un Slackbot simple avec un bouton interactif en python
[Jouons avec Python] Créer un livre de comptes de ménage
Essayez de créer un jeu simple avec Python 3 et iPhone
Faire un point d'arrêt sur la couche c avec python
Lors de l'écriture d'une instruction if avec une expression régulière
Créer un outil de formatage CSV avec Python Pandas Py Installer
expression canonique python ou mémo d'objet correspondant
Qu'est-ce que Dieu? Créez un chatbot simple avec python
[Super facile] Faisons un LINE BOT avec Python.
Modifiez la chaîne de caractères à remplacer en fonction de la chaîne de caractères correspondante en la remplaçant par l'expression régulière Python
[Python] Utiliser une séquence de chaînes
Notes sur l'expression régulière de la théorie Python
Créez Puyopuyo AI avec Python
Créer un bookmarklet en Python
Créer un répertoire avec python
Format de chaîne avec l'opérateur Python%
Faire un feu avec kdeplot
Créons un client de socket Web avec Python. (Authentification par jeton d'accès)
[Pratique] Créez une application Watson avec Python! # 3 [Classification du langage naturel]
Prenez rapidement une chaîne de requête avec API Gateway-> Lambda (Python)
Associez Python Enum à une fonction pour la rendre appelable
Expérimentez pour créer un PDF indépendant pour Kindle avec Python