Comment faire pour supprimer la ligne si ne contient pas de lettre en python

0

La question

Je veux supprimer la ligne de chaîne si ne contiennent pas de lettre et passer si contiennent des lettres ou chiffres. Je suis tenter de résoudre ce problème en utilisant les RegEx en python, mais impossible de supprimer la ligne. exemple

string='''हिरासत में ली गई महिला 36 वर्षीय नूर सजात कमरुज़्ज़मा थीं
          British High Commissioner Greets
          
          पत्ता आंबेडकर चौक, निमशीरगाव,
          निमिशरगाव, निरमशिरगाव, कोल्हापूर, NIMSHIRGAON, Nimshirgaon,
          Address: ambedkar chowk,
          महाराष्ट्र, 416101
          Nimshirgaon, Kolhapur, Maharashtra,
          416101
          1832
          1947'''

La sortie que je veux

output=  '''British High Commissioner Greets
           Address: ambedkar chowk,
           Nimshirgaon, Kolhapur, Maharashtra,
           416101
           1832
           1947'''

merci de m'aider!!!

data-structures pandas python python-3.x
2021-11-22 11:32:47
2

La meilleure réponse

2

Vous pouvez utiliser un simple compréhension avec une expression régulière pour rechercher uniquement les lignes de caractères ascii:

import re
out = '\n'.join(s for s in string.split('\n') if re.match(r'^[\x00-\x7F]+$', s))
print(out)

sortie:

          British High Commissioner Greets
          
          Address: ambedkar chowk,
          Nimshirgaon, Kolhapur, Maharashtra,
          416101
          1832
          1947
2021-11-22 11:53:46
1

Ici vous allez. Selon la ligne ne suivent pas le modèle (vous pouvez ajouter plus de caractères dans le modèle en fonction de ce que vous voulez), il ne sera pas ajouté à la sortie.

Je pense que cela va résoudre votre problème.

import re

pattern = re.compile("[a-zA-Z0-9!@#$&()\\-`.+,/\"]+")

multilinestring = '''हिरासत में ली गई महिला 36 वर्षीय नूर सजात कमरुज़्ज़मा थीं
British High Commissioner Greets        
पत्ता आंबेडकर चौक, निमशीरगाव,
निमिशरगाव, निरमशिरगाव, कोल्हापूर, NIMSHIRGAON, Nimshirgaon,
Address: ambedkar chowk,
महाराष्ट्र, 416101
Nimshirgaon, Kolhapur, Maharashtra,
416101
1832
1947'''

split_list = multilinestring.splitlines()
output_list = []
for word in split_list:
    if pattern.match(word):
        output_list.append(word)

print(*output_list, sep = "\n")

La dernière ligne de tirages pour chaque chaîne de caractères dans une liste sur une ligne distincte. Voici le résultat:

British High Commissioner Greets        
Address: ambedkar chowk,
Nimshirgaon, Kolhapur, Maharashtra,
416101
1832
1947
2021-11-22 12:00:15

Dans d'autres langues

Cette page est dans d'autres langues

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................