je votre échantillon pour trouver tous les mots avec ہ
ou ر
Notez que je devais dire python que je traite UTF- 8 données en utilisant u en face de la chaîne de regex ainsi que la chaîne de données
import re
data = u"""
ظہیر
احمد
ماہرہ
خان
.....
"""
result = re.findall(u'[^\s\n]+[ہر][^\s\n]+',data,re.MULTILINE)
print(result)
la sortie est
['ظہیر', 'ماہرہ', 'تصاویر،', 'پہنچایا', '،ہوا']
un autre exemple, supprime tous aucun alphabets sauf les espaces et fait en sorte que l'un des espaces sépare les mots
result = re.sub(' +',' ',re.sub(u'[\W\s]',' ',data))
print(result)
la sortie est
ظہیر احمد ماہرہ خان کی تصاویر نے دائیں اور بائیں والوں کو آسمانوں پر پہنچایا ہوا ہے دائیں والے
vous pouvez également utiliser mot tokanizer,
import nltk
result = nltk.tokenize.wordpunct_tokenize(data)
print(result)
la sortie sera
['ظہیر', 'احمد', 'ماہرہ'
, 'خان', 'کی', '،', 'تصاویر'
, '،', 'نے', 'دائیں', 'اور', 'بائیں', 'والوں'
, 'کو', 'آسمانوں', 'پر', 'پہنچایا'
, '،', 'ہوا', 'ہے', '۔', 'دائیں', '؟', 'والے']
Edit ... pour Python 2.7, vous devez spécifier l'encodage au début du fichier de code ainsi que dire re
que le regex est « unicode » en utilisant re.UNICODE
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
import re
data = u"""ظہیر
احمد
ماہرہ
خان
کی،
.....
"""
result = re.sub(ur'\s+',u' ',re.sub(ur'[\W\s]',ur' ',data,re.UNICODE),re.UNICODE)
print(result)
noter également l'utilisation de ur''
pour spécifier la chaîne est une chaîne regex unicode
Je recommande de fournir un échantillon des données relatives à votre – sgDysregulation
J'ai ajouté mes données d'échantillon – smartF