IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Enregistrer un à un les mots d'un texte dans un tableau en conservant les majuscules


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    926
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 926
    Par défaut Enregistrer un à un les mots d'un texte dans un tableau en conservant les majuscules
    Bonjour,

    j'ai un code qui me permet de sélectionner un à un les mots d'un texte pour pouvoir ensuite les inscrire dans un tableau :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
            For iCar = 1 To lgTexte
                car = Mid(LCase(TextBox4.Text), iCar, 1)
                If Not marqMot And InStr(1, LETTRE, car) > 0 Then '1ère lettre d un mot
                    nbMots = nbMots + 1
                    marqMot = True
                ElseIf marqMot And InStr(CAR_SEP, car) > 0 Then  '1er caractère derrière un mot
                    marqMot = False
                End If
                If InStr(1, LETTRE, car) <> 0 Then
                    ReDim Preserve Mots(0 To nbMots)
                    Mots(nbMots) &= car 'lit le mot et le met dans le tableau
                End If
    	 Next
    Le problème est qu'il ne respecte pas la casse et que j'aimerai conserver les majuscules. Auriez-vous une solution à m'apporter? Merci d'avance,

    Arsene

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 199
    Par défaut
    redim preserve c'est à éviter
    de nos jours on utilise une collection plutot qu'un tableau

    après ce n'est pas précisé, mais si tu découpes ton texte selon les espaces autant faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dim mots = split(texte," ")
    .net est un langage de haut niveau avec un framework assez fourni, seuls les choses spécifiques nécessitent un algorithme, pour les choses génériques il y a souvent une classe qui fait ca (et découper un texte c'est quelque chose de basique)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre émérite

    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Israël

    Informations forums :
    Inscription : Mars 2012
    Messages : 691
    Par défaut
    Bonjour

    Tu peux découper selon une liste de caractères qui séparent entre les mots

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     Dim charSeparators() As Char = {","c, " "c, ";"c,"?"c,"!"c}
            Dim mots As New List(Of String) 
            Dim mytext As String = "gdfererferere erererere,erererere,rtrtrtrtrt;fgfgfgf ?   dfdfdfdfd 1323232 !!"
            mots = mytext.Split(charSeparators, StringSplitOptions.RemoveEmptyEntries).ToList

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    926
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 926
    Par défaut Solution
    Merci pour vos suggestions. J'ai réglé le problème en supprimant le LCase, c'était tout simple. Je maîtrise pas bien encore la procédure mais comme elle marche je la conserve. @+
    Arsène

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 11
    Dernier message: 29/07/2014, 02h40
  2. Réponses: 7
    Dernier message: 25/03/2011, 21h18
  3. Réponses: 4
    Dernier message: 15/10/2009, 01h48
  4. Inverser les mots d'un texte
    Par nianko dans le forum Débuter
    Réponses: 2
    Dernier message: 19/06/2008, 11h31
  5. Extraire les mots d'un texte
    Par krachik dans le forum C
    Réponses: 9
    Dernier message: 11/05/2006, 22h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo