Question
[Résolu]Comportement curieux sur .TrimEnd()
- Gabriel
-
Auteur du sujet
- Hors Ligne
- Membre elite
-
Réduire
Plus d'informations
- Messages : 248
- Remerciements reçus 1
il y a 10 ans 4 mois #21228
par Gabriel
[Résolu]Comportement curieux sur .TrimEnd() a été créé par Gabriel
petit test
[code:1]
PS C:\rip\series\saisons> (\"stargate atlantis.v7.csv\"«»).trimend(\"v7.csv\"«»)
stargate atlanti
PS C:\rip\series\saisons> (\"star trek voyager.v7.csv\"«»).trimend(\"v7.csv\"«»)
star trek voyager
PS C:\rip\series\saisons> (\"stargate sg1.v7.csv\"«»).trimend(\"v7.csv\"«»)
stargate sg1
[/code:1]
lorsque j'utilise .TrimEnd(), il arrive que la suppression inclus des caractères en +.
je veux retirer la fin de la chaine de caractères: stargate atlantis.v7.csv
Je devrait avoir : \"stargate atlantis\"
au lieu de ça j'ai : \"stargate atlanti\"
par contre d'autre chaine de caractères se comporteront \"correctement\" (voir les exemples ci-dessus)
question qu'est ce qui fait que le S degage
?
c'est seulement chez moi? (je suis en posh v5 sous win10)
Message édité par: tonic8, à: 5/01/16 15:02<br><br>Message édité par: tonic8, à: 5/01/16 16:26
[code:1]
PS C:\rip\series\saisons> (\"stargate atlantis.v7.csv\"«»).trimend(\"v7.csv\"«»)
stargate atlanti
PS C:\rip\series\saisons> (\"star trek voyager.v7.csv\"«»).trimend(\"v7.csv\"«»)
star trek voyager
PS C:\rip\series\saisons> (\"stargate sg1.v7.csv\"«»).trimend(\"v7.csv\"«»)
stargate sg1
[/code:1]
lorsque j'utilise .TrimEnd(), il arrive que la suppression inclus des caractères en +.
je veux retirer la fin de la chaine de caractères: stargate atlantis.v7.csv
Je devrait avoir : \"stargate atlantis\"
au lieu de ça j'ai : \"stargate atlanti\"
par contre d'autre chaine de caractères se comporteront \"correctement\" (voir les exemples ci-dessus)
question qu'est ce qui fait que le S degage
c'est seulement chez moi? (je suis en posh v5 sous win10)
Message édité par: tonic8, à: 5/01/16 15:02<br><br>Message édité par: tonic8, à: 5/01/16 16:26
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 10 ans 4 mois #21229
par Philippe
Réponse de Philippe sur le sujet Re:Comportement curieux sur .TrimEnd()
salut tonic8
il remonte la chaine à modifier à l'envers et compare chaque caractères aux caractères passé en paramètre et s'arrête des un caractère ne ce trouve pas dans le tableau (dans ton cas \"i\") !
par exemples cette écriture fait la même chose :
[code:1](\"stargate atlantis.v7.csv\"«»).trimend('.vc7s')
[/code:1]
pour resoudre ton cas de figure soit tu enlevé l'extension puis le \"v7\" :
[code:1](\"stargate atlantis.v7.csv\"«»).trimend('.vcs').trimend('.v7')
[/code:1]
soit tu remplace la fin du texte par \"rien\" :
[code:1](\"stargate atlantis.v7.csv\"«»).replace('.v7.csv', '')
[/code:1]
bonne année avec powershell
comme l'explique ici la doc .Net , trim trimend et trimstart considère les caractères passe en paramètre comme un tableau de caractères et non comme une chaine de caractères !question qu'est ce qui fait que le S degage ?
il remonte la chaine à modifier à l'envers et compare chaque caractères aux caractères passé en paramètre et s'arrête des un caractère ne ce trouve pas dans le tableau (dans ton cas \"i\") !
par exemples cette écriture fait la même chose :
[code:1](\"stargate atlantis.v7.csv\"«»).trimend('.vc7s')
[/code:1]
pour resoudre ton cas de figure soit tu enlevé l'extension puis le \"v7\" :
[code:1](\"stargate atlantis.v7.csv\"«»).trimend('.vcs').trimend('.v7')
[/code:1]
soit tu remplace la fin du texte par \"rien\" :
[code:1](\"stargate atlantis.v7.csv\"«»).replace('.v7.csv', '')
[/code:1]
bonne année avec powershell
Connexion ou Créer un compte pour participer à la conversation.
- Gabriel
-
Auteur du sujet
- Hors Ligne
- Membre elite
-
Réduire
Plus d'informations
- Messages : 248
- Remerciements reçus 1
il y a 10 ans 4 mois #21230
par Gabriel
Réponse de Gabriel sur le sujet Re:Comportement curieux sur .TrimEnd()
bonjour 6ratgus
merci pour la precision, j'avais procédé au passage via .replace(), mais je pensais que le trimend était \"plus\" propre. genre le concept je prend tous les caractères a la fin de la string et je les drop.
le post c'était pour comprendre comment fonctionnait trim
merci pour la precision, j'avais procédé au passage via .replace(), mais je pensais que le trimend était \"plus\" propre. genre le concept je prend tous les caractères a la fin de la string et je les drop.
le post c'était pour comprendre comment fonctionnait trim
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.033 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- [Résolu]Comportement curieux sur .TrimEnd()