Decouper une chaine de caractère tous les 8 caracteres
Résolu
remy4wer
Messages postés
26
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
bonjour je suis actuellement sur un logiciel de cryptage, seulement je voudrais que lorseque l'utilisateur tape un long texte dans une text box, puis clique sur un bouton. je voudrai que le texte se separe tous les "8" caracteres ... pouvais vous m'aider?
merci d'avance :)
merci d'avance :)
A voir également:
- Decouper une chaine de caractère tous les 8 caracteres
- Caractère ascii - Guide
- Clé windows 8 - Guide
- Caractère spéciaux - Guide
- Caractere speciaux - Guide
- Exemple de mot de passe à 8 caractères - Guide
13 réponses
Bonsoir,
c'est souvent prise de tête ce genre de chose, ce que je ferais, je créerais une boucle gérer par une variable qui parcourt la chaîne de caractère. Je prendrais la première lettre de la chaîne de caractère (emplacement[0]) et je la stockerais dans une autre variable, je l'incrémente et je recommence jusqu'à arrivé a la huitième (emplacement[7]), je ne sais pas si j'ai été très claire.
c'est souvent prise de tête ce genre de chose, ce que je ferais, je créerais une boucle gérer par une variable qui parcourt la chaîne de caractère. Je prendrais la première lettre de la chaîne de caractère (emplacement[0]) et je la stockerais dans une autre variable, je l'incrémente et je recommence jusqu'à arrivé a la huitième (emplacement[7]), je ne sais pas si j'ai été très claire.
Bonjour,
En VB.Net ça ne doit pas être très compliqué de boucler sur tous les caractères d'un String...
Voici comment je ferais en VBA (on ne doit pas être très loin niveau syntaxe...)
En VB.Net ça ne doit pas être très compliqué de boucler sur tous les caractères d'un String...
Voici comment je ferais en VBA (on ne doit pas être très loin niveau syntaxe...)
Dim monTab() Dim monString$ Dim i&, k& monString = "La phrase que j'aimerais découper en partie de 8 caractères" ReDim monTab(Round(Len(monString) / 8)) For i = 1 To Len(monString) Step 8 monTab(k) = Mid(monString, i, 8) k = k + 1 Next i For i = 0 To UBound(monTab) Debug.Print monTab(i) Next i
je te remerci enormement de tous m'avoir expliquais en detail, d'avoir pris de ton temps.maleureusement je debutant sur vb.net et je n'ai pas reussi a y arriver dessus (les boucle c'est pas trop mon truc...)j'espere que quelqu'un pourra m'aider en language vb.net.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
je te remerccie du fond du coeur et m'excuse d'avoir créer plusieur sujet ,je n'avais pas compris pourquoi je n'arrivais pas a acceder au post , je te remerci de ta patience avec moi
en revenche pourrait tu me dire ce que veux dire round , len , mid , ubound
pas de souci.
Round = arrondi
Len = nombre de caractères de la chaine
Mid : extrait une portion de chaine
ubound : indice le plus élevé d'une variable tableau
Un conseil pour la suite, consulte le site de microsoft pour ce type de renseignements.
Exemple : taper dans google : msdn+Len donne ,en premier lien de la recherche : https://docs.microsoft.com/fr-fr/previous-versions/visualstudio/visual-studio-2008/dxsw58z6(v=vs.90)?redirectedfrom=MSDN
msdn = site de microsoft...
Ton problème est-il résolu?
Round = arrondi
Len = nombre de caractères de la chaine
Mid : extrait une portion de chaine
ubound : indice le plus élevé d'une variable tableau
Un conseil pour la suite, consulte le site de microsoft pour ce type de renseignements.
Exemple : taper dans google : msdn+Len donne ,en premier lien de la recherche : https://docs.microsoft.com/fr-fr/previous-versions/visualstudio/visual-studio-2008/dxsw58z6(v=vs.90)?redirectedfrom=MSDN
msdn = site de microsoft...
Ton problème est-il résolu?
En cas d'erreur dans le code, voir ce lien : https://docs.microsoft.com/fr-fr/dotnet/api/system.string.substring?redirectedfrom=MSDN&view=netframework-4.8
Dim monString$, i&, FinBoucle&
monString = TextBox1.Text
FinBoucle = Len(monString) + Len(monString) Mod 9
For i = 8 To FinBoucle Step 9
monString = monString.Substring(0, i) & "_" & monString.Substring(Len(monString) - i), i),
Next i
TextBox1.Text = monString
Une petite correction qui (chez moi...) fonctionne
Dim monString$, i&, FinBoucle& monString = "Laphrasequejaimeraisdécouperenpartiede8caractères" FinBoucle = Len(monString) + Len(monString) Mod 9 For i = 8 To FinBoucle Step 9 monString = monString.Substring(0, i) & "_" & monString.Substring(i) 'c'est ici, il faut prendre la fin de la chaine sans plus de calcul Next i TextBox1.Text = monString
c'est le bon code mais il doit y avoir une erreur de syntaxe car le logiciel me souligne ca : , i),
et me dis fin d'instruction attendu
et me dis fin d'instruction attendu
de rien.
Il y a certainement un petit problème, mais comme je n'ai pas VB.Net (comme quoi débuter n'est pas une excuse, je n'en avais jamais fait avant aujourd'hui, mais, comme je supprimais tous tes sujets, je me suis senti "obligé" de te filer un coup de main...) je ne peux pas tester...
Bonne continuation.
A+
Il y a certainement un petit problème, mais comme je n'ai pas VB.Net (comme quoi débuter n'est pas une excuse, je n'en avais jamais fait avant aujourd'hui, mais, comme je supprimais tous tes sujets, je me suis senti "obligé" de te filer un coup de main...) je ne peux pas tester...
Bonne continuation.
A+
Bonjour,
pijaku, j'ai VB2010 et ton dernier code ne fonctionne pas. Par contre ton 1er code en vba que j'ai mis en VB.NET fonctionne.
Voici le code:
Bonne programmation
pijaku, j'ai VB2010 et ton dernier code ne fonctionne pas. Par contre ton 1er code en vba que j'ai mis en VB.NET fonctionne.
Voici le code:
Dim monTab() As String Dim monString As String Dim i, k As Integer monString = "Laphrasequejaimeraisdécouperenpartiede8caractères" 'j'ai supprimé les espaces pour la comprehension ReDim monTab(CInt(Math.Round(Len(monString) / 8))) For i = 1 To Len(monString) Step 8 monTab(k) = Mid(monString, i, 8) k = k + 1 Next i For i = 0 To UBound(monTab) TextBox1.AppendText(monTab(i) & " ") Next i
Bonne programmation
Tu as les 8 premiers caractères un tiret les 8 derniers caractères , 5 fois de suite
Voici le code :
Voici le code :
Dim monString As String Dim i, FinBoucle As Integer monString = "Laphrasequejaimeraisdécouperenpartiede8caractères" FinBoucle = Len(monString) + Len(monString) Mod 9 For i = 8 To Len(monString) Step 9 monString = monString.Substring(0, i) & "_" & monString.Substring(Len(monString) - i, i) Next i TextBox1.Text = monString
Bonjour,
Juste pour m'aider à refaire peu à peu surface.
Un peu de rigolade avec VBA :
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend
Juste pour m'aider à refaire peu à peu surface.
Un peu de rigolade avec VBA :
toto = "Voiciunephrasequin'estpasd'unelonhueurmultipledeladécoupe.Lecodeseraitbienplussimplesimultiplededeladécoupe."--
decoupe = 8
ou = Len(toto) - Len(toto) Mod decoupe
toto1 = Left(toto, ou)
flt = " " & String(decoupe, "@")
Do While Len(flt) < Len(toto1) + Len(toto) Mod decoupe
flt = flt & flt
Loop
MsgBox Trim(Format(toto1, flt) & " " & Mid(toto, ou + 1))
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend
Salut uc. Et bon retour!
Ma version est là
https://codes-sources.commentcamarche.net/forum/affich-10033508-couper-une-chaine-de-caractere-tous-les-8-caracteres#4
--
Ma version est là
https://codes-sources.commentcamarche.net/forum/affich-10033508-couper-une-chaine-de-caractere-tous-les-8-caracteres#4
--
Bonjour, Le Pivert,
- Avant tout : ma solution était en VBA et non en .Net.
- il y a toujours mille et une manières d'aborder une difficulté. Il est vrai que j'aime les manières rigolotes
- Tiens : en voilà une autre, toujours avec VBA (et donc à transposer pour VB.Net) :
Elle est très simple :
- Avant tout : ma solution était en VBA et non en .Net.
- il y a toujours mille et une manières d'aborder une difficulté. Il est vrai que j'aime les manières rigolotes
- Tiens : en voilà une autre, toujours avec VBA (et donc à transposer pour VB.Net) :
Elle est très simple :
toto = "benvoilalaphrasequel'onvoudraitmettreenmorceauxde#decoupecaractères"
decoupe = 8 ' pour dire tous les combien découper
titi = Split(StrConv(toto, vbUnicode), Chr(0))
For i = decoupe - 1 To Len(toto) Step decoupe
titi(i) = titi(i) & " "
Next
MsgBox Join(titi, "")
Alors la traduction "littérale" en VB.Net, mais ça s'optimise sûrement.
Dim toto As String = "benvoilalaphrasequel'onvoudraitmettreenmorceauxde#decoupecaractères" Dim decoupe As Int16 = 8 ' pour dire tous les combien découpe Dim titi As String() = toto.ToCharArray().Select(Function(c) c.ToString()).ToArray() 'comme le split crée un tableau de caractères, mais on doit le convertir en string VB.net qui est plus typé que VBA n'accepte pas titi(i) = titi(i) & " " dans le cas contraire For i = decoupe - 1 To Len(toto) Step decoupe titi(i) = titi(i) & " " Next MsgBox(String.Join(" ", titi))
Bonjour là avec une liste plutôt qu'un tableau.
J'évite la méthode ToCharArray et donc une boucle en faisant le Select directement sur les caractères du string (en .Net un string est déjà une sorte de tableau de string).
Mais dans l'absolue pour un texte aussi petit ça ne change pas grand chose.
J'évite la méthode ToCharArray et donc une boucle en faisant le Select directement sur les caractères du string (en .Net un string est déjà une sorte de tableau de string).
Mais dans l'absolue pour un texte aussi petit ça ne change pas grand chose.
Dim decoupe As Int16 = 8 ' pour dire tous les combien découpe Dim titi As List(Of String) = "benvoilalaphrasequel'onvoudraitmettreenmorceauxde#decoupecaractères".Select(Function(c As Char) c.ToString()).ToList() For i = decoupe - 1 To titi.Count() Step decoupe titi(i) = titi(i) & " " Next MsgBox(String.Join(" ", titi))
Re,
ton post m'a donné envie de coder ^^
j'ai coder ce petit truc en python, je ne maîtrise que ce langage mais ça pourrais sûrement t'aider.
code:
Quand je l'exécute ça me retourne ça:
exemple
de conte
nu textu
el inser
er par u
n utilis
ateur la
mbda
ton post m'a donné envie de coder ^^
j'ai coder ce petit truc en python, je ne maîtrise que ce langage mais ça pourrais sûrement t'aider.
code:
source = 'exemple de contenu textuel inserer par un utilisateur lambda'--------------------------------------------------------------------------
emplacement = 0
resultat = ''
boucle = 0
while emplacement < len(source):
lettre = source[emplacement]
resultat = resultat + lettre
emplacement = emplacement + 1
boucle = boucle + 1
if boucle == 8:
print(resultat)
resultat = ''
boucle = 0
if emplacement == 60 and boucle < 8:
print(resultat)
Quand je l'exécute ça me retourne ça:
exemple
de conte
nu textu
el inser
er par u
n utilis
ateur la
mbda