jared Posté(e) le 10 janvier 2018 Signaler Posté(e) le 10 janvier 2018 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 ?
pepite Posté(e) le 10 janvier 2018 Signaler Posté(e) le 10 janvier 2018 (modifié) 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é le 10 janvier 2018 par pepite 1
jared Posté(e) le 10 janvier 2018 Auteur Signaler Posté(e) le 10 janvier 2018 Presque ! J'ai encore des problèmes avec les lettres accentuées... oui le français c'est chiant !
yoim Posté(e) le 11 janvier 2018 Signaler Posté(e) le 11 janvier 2018 (modifié) @pepite Malgré tes dires je te trouve très bon en Lua. Modifié le 11 janvier 2018 par yoim
pepite Posté(e) le 12 janvier 2018 Signaler Posté(e) le 12 janvier 2018 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 ;-) 1
jared Posté(e) le 13 janvier 2018 Auteur Signaler Posté(e) le 13 janvier 2018 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"...
Lazer Posté(e) le 13 janvier 2018 Signaler Posté(e) le 13 janvier 2018 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. 2
Steven Posté(e) le 18 janvier 2018 Signaler Posté(e) le 18 janvier 2018 La liste est là (enfin je crois) : for word in string.gmatch("Hello Lumière user", "[0-9a-zA-Zàáâãäåçèéêëìíîïðòóôõöùúûüýÿ]+") do print(word) end
Messages recommandés