Aller au contenu
BenjyNet

Pattern chaine de caractère

Recommended Posts

Est-ce que quelqu'un pourrait me filer un coup de main pour utiliser correctement gusb ?

J'ai une variable comme ça:

ex contenu de la variable : mercredi 12.05.2019 - Travail

Et je voudrais pouvoir supprimer pour le remplacer par autre chose tout ce qui est après le "-" sachant qu'il peut y avoir n'importe quelle chaine de caractère avant et après ce tiret.

Et c'est dans ces cas là, que tu comprends que t'y pite que dalle aux patterns et manipulation de chaînes. :D

Partager ce message


Lien à poster
Partager sur d’autres sites

tu fais un find de la position du caractère que tu  cherches.

Puis tu sais faire ce que tu veux entre le LEN de la variable et la position du caractère. 

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour bonjour,

 

Voila Monsieur @BenjyNet, j'ai essayé d'être clair en détaillant ;-)


 

local test = "mercredi 12.05.2019 | Travail"
local sep = "|"
local position_sep = test:find(sep)
local longueur_chaine_test = test:len()
local longueur_chaine_sep = sep:len()
local sub_avant_sep =test:sub(position_sep+longueur_chaine_sep,longueur_chaine_test)

print(longueur_chaine_test)
print(position_sep)
print(longueur_chaine_sep)
print(position_sep+longueur_chaine_sep)
print(sub_avant_sep)

local texte = test:gsub(sub_avant_sep," Vacances")
print(texte)
29
21
1
22
 Travail
mercredi 12.05.2019 | Vacances

 

 

Tu peux tester ici :

https://www.lua.org/cgi-bin/demo

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

ah bon, je croyais qu'il y avait une fonction toute faite pour cela, et que c'entait cela que @BenjyNet cherchait.

Partager ce message


Lien à poster
Partager sur d’autres sites

Heuuu, ah ben j'ai peut-etre mal compris alors. Attendons BenjyNet ;-)

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui je pense qu'avec le string.gsub et les patterns ça doit se faire genre

local variable = "mercredi 12.02.2019 - Travail";
variable:gsub(%s[-]%?,"");  <-- ceci est faux bien sur !

et t'obtiens dans ta variable : "mercredi 12.02.2019 -"

@Steven @Krikroff une idée ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Je propose, pour utiliser gsub :

s = "mercredi 12.05.2019 - Travail"
t = "Vacances d'hiver"
ns = string.gsub(s, '-.*', "- "..t)
print(ns)

Ce qui affiche :

mercredi 12.05.2019 - Vacances d'hiver

 

  • Thanks 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Bah voilà :D ou encore

local variable = "mercredi 12.01.2019 - Travail";
print(variable) <-- affiche "mercredi 12.01.2019 - Travail"
variable = variable:gsub("-.*","- Repos");
print(variable) <-- affiche "mercredi 12.01.2019 - Repos"

Donc en une ligne c'est torché, cool merci BEAUCOUP !!

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

ah ben oui, me suis bien fait ch...moi lol

  • Haha 2

Partager ce message


Lien à poster
Partager sur d’autres sites

Je trouve que ces explications sur les pattern c'est mal expliqué OU que mon cerveau refuse de le comprendre... et ça je sais pas pourquoi.

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

moi c'est pareil, les pattern me perdent, -.......et j'en passe .mon cerveau n'est pas fait pour les pattern...

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Pour aider en restant dans le thème :

print(string.gsub("moi c'est pareil, les pattern me perdent, -.......et j'en passe .mon cerveau n'est pas fait pour les pattern...", "-.*", " http://wxlua.free.fr/Tutoriel_Lua/Tuto/Strings/strings6.php"));

:rolleyes:

Partager ce message


Lien à poster
Partager sur d’autres sites

Huhuhu, je l'ai lu cette page pourtant... et toutes les autres même :( Dès que t'as des truc \*.-[iI].%s j'y pite plus rien :D

  • Like 1
  • Haha 1

Partager ce message


Lien à poster
Partager sur d’autres sites

idem cette page e la connais, mais il faut que je teste X pattern avant d'arriver à ce que je veux...et dans ce cas, je craque et je demande à @Steven qui doit en avoir marre d'ailleurs ;-)

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

×