7
votes

Enlevez tout mais laissez des chiffres et des points

Ce code est conçu pour tout supprimer, mais laissez des chiffres xxx

mais je veux préserver des points aussi.


1 commentaires

Voulez-vous que B à une version sûre de A, ou avez-vous besoin de diviser A en une matrice, par exemple. B = [1,1,1,1]?


3 Réponses :


2
votes

Ne pas utiliser l'expression régulière: xxx


0 commentaires

3
votes
>>> a='1.1.1.1'
>>> b = re.sub('[^0-9\.]', '', a)
>>> b
'1.1.1.1'
>>> a='comp.languages.python'
>>> b = re.sub('[^0-9.]', '', a)
>>> b
'..'
The [] means match only these characters.The [^] means match all characters EXCEPT these characters.0-9 is 0123456789. is . but be careful with . because outside [] it is often used to match any single character

1 commentaires

Pas besoin d'échapper au . dans les classes de caractères intérieures ( [...] ) Parce que des caractères spéciaux perdent leur signification dans des classes de caractères.



8
votes

Essayez

a = 1.1.1.1
b = re.sub('[^\d\.]', '', a)


1 commentaires

Grande solution! Merci!