Aller au contenu
jared

LUA : string vers tableau

Recommended Posts

Bonjour,

 

je galère un peu pour convertir une phrase en un tableau de mots.

La phrase peut contenir des espaces, des apostrophes, des virgules et des points.

Je souhaite garder uniquement les mots dans un tableau.

 

Je joue un peu avec gmatch et gsub mais j'arrive pas à obtenir le bon résultat...

 

Une idée ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour,

 

Uniquement les mots donc les lettres, ceci ne ferait-il pas ton bonheur ?

 

for word in string.gmatch("Hello Lua user", "%a+") do print(word) end 
Hello 
Lua
user 

 

Modifié par pepite
  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Presque !

J'ai encore des problèmes avec les lettres accentuées... oui le français c'est chiant !

Partager ce message


Lien à poster
Partager sur d’autres sites

@pepite Malgré tes dires je te trouve très bon :D en Lua.

Modifié par yoim

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour,

 

Le 10/01/2018 à 20:15, jared a dit :

problèmes avec les lettres accentuées

C'est a dire ? que veux tu faire ? Les enlever ?

 

@yoim : je ne fais que plagier ;-)

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

non justement.

J'ai testé ton bout de code (que j'avais déjà trouvé sur la doc officielle), mais par exemple "lumière" me retourne deux valeurs dans le tableau "lumi" et "re"...

Partager ce message


Lien à poster
Partager sur d’autres sites

Pas testé, mais il faudrait plutôt prendre cette approche je pense :

string.gmatch("Hello Lua user", "[a-zA-Z0-9éèêàîôù]+")

Etc... bref stipuler manuellement tous les caractères spéciaux de notre langue complexe.

  • Like 2

Partager ce message


Lien à poster
Partager sur d’autres sites

La liste est là (enfin je crois) ;):

 

for word in string.gmatch("Hello Lumière user", "[0-9a-zA-Zàáâãäåçèéêëìíîïðòóôõöùúûüýÿ]+") do print(word) end 

Partager ce message


Lien à poster
Partager sur d’autres sites

×