Comment peut diviser un texte avec retour a la ligne

Résolu
Karim_94 Messages postés 10 Date d'inscription mercredi 20 avril 2022 Statut Membre Dernière intervention 1 mai 2022 - Modifié le 24 avril 2022 à 14:23
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 - 24 avril 2022 à 22:15
Bonjour, moi je travaille avec la méthode de "split string "elle fonctionne mais je peux faire un retour a la ligne sans supprimer le variable de split
Public Class Form1

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        TextBox1.Text = "5156785123579"
    End Sub
    Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
        TextBox2.Clear()

        For Each word As String In Split(TextBox1.Text, "5")
            TextBox2.Text = TextBox2.Text & word & vbCrLf & word
        Next

    End Sub

'il m'affiche
'1
'678123
'12379
'79
moi je recherche a l'afficher de sa facon
'51
'5678123
'512379
'579
le 5 reste sans supprimer et faire une retour a ligne
merci d'avance <3

EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.

3 réponses

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
24 avril 2022 à 14:28
Comme ça 2 solutions, soit tu ajoutes le 5 dans ta ligne
For Each word As String In Split(TextBox1.Text, "5")
            TextBox2.Text = TextBox2.Text + "5"+ word + vbCrLf +"5"+ word
        Next


Soit tu fais plus direct (mais même résultat :

TextBox2.Text = string.Join(Environment.NewLine,Split(TextBox1.Text, "5").Select(p=>"5"+p))

ça utilise LINQ (J'ai fais de tête, je ne sais plus si le Join a le séparateur en premier ou second paramètre)

De plus, je vois que tu utilises en partie une syntaxe VB6 (le &), cela n'est plus utile et peut troubler à la lecture.
1
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
Modifié le 24 avril 2022 à 16:45
Bonjour
Pour poster du code prière de suivre ce tuto : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code . Votre code sera bien plus agréable à lire .
De plus vbCrLf c'est du VB 6 . VB Net permet l'utilisation de mots clé VB 6 par l'importation de l'espace de nom Microsoft Visual Basic . Pour faire du vrai VB Net il suffit de supprimer celui-ci .
Pour ceci allez dans les propriétés du projet et cliquez l'onglet Références à gauche . Dans la fenêtre qui s'affiche vous décochez l'espace de nom Microsoft Visual Basic dans la liste du bas .
Maintenant pourquoi le "5" ne s'affiche pas ? Vous splittez sur ce caractère donc celui-ci sert de séparateur . il suffit donc de rajouter ce caractère avant la variable word
TextBox2.Text = TextBox2.Text & "5" & word & Environment.NewLigne


Environment.NewLine
remplace vVbCrLf en vrai VB Net


1
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
24 avril 2022 à 22:15
1
Rejoignez-nous