Fonction sub - Explication du str(textes)

Pourriez vous m’expliquer le code ci-dessous à savoir :

  • comment est-ce que la fonction sub comprend qu’il faille remplacer uniquement les hashtags et les liens et non tout le tweet puisque dans le compilateur on précise r = re.compile(r" #\w+ ") ?
  • est-ce lié au fait qu’on précise str(texte) ? Comment interpréter cette ligne?
  • de meme pour les liens pourquoi on ne reprécise pas str(textes)?

Si ça n’est pas clair, en gros j’ai du mal à comprendre comment fonctionne ces lignes de codes ci-jointe.

Merci pour vos éclaircissements !
image

Bonjour @2842,

Cela provient de l’expression régulière choisie.

Ici dans r" #\w+ " il y a un espace avant le # et un espace après le +. Ainsi il choisira uniquement les mots tels que " #tendance " et s’arrêtera donc après l’espace. Cependant attention, il remplacera donc le hastag avec l’espace avant et l’espace après, et ne repérera pas non plus les hastag en début de phrase (car il n’y a pas d’espace devant).

Dans la deuxième expression régulière, cela fonctionne aussi car on lui demande de matcher les expressions commençant par https:// ou http:// suivi d’au moins un caractère de [A-Za-z0-9./]. Or il n’y a pas le caractère espace dans cet ensemble de caractère, et donc il s’arrêtera avant un espace.

J’espère que cela est assez clair, si c’est le cas vous pouvez le signaler à l’aide de :white_check_mark: en bas de ce message :wink:

Bonne journée

Théophile