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 :

manipulation de chaines de caractère


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Février 2007
    Messages : 758
    Par défaut manipulation de chaines de caractère
    Bonsoir,

    j'ai une chaîne de caractère qui se présente sous la forme suivante :

    Appel immédiat

    bla bla bla

    Vehicule : POLICE SECOURS 01 PARIS
    Equipage : 01- SGT PIERRE LAFFREUX
    02- ADJ JO LA BAVURE
    03- SGT GOLDORAK ALAIN
    04- CAL CHERIE FM
    05- SGT BAT MAN
    06- SAP NOIX DE COCO
    Mais le nombres de chiffre change à chaque fois, augmenter ou diminuer (-01, -02....)

    Pour les chiffres pas de problème, j'arrive a récupérer la position du dernier chiffre présent, mais ce que je n'arrive c'est récupérer la positon du dernier caractère se trouvant à la fin de la dernière ligne :
    "dans notre cas : le dernier O de COCO"

    je ne sait pas comment faire ! sachant que je ne peux pas utiliser : car il n'y a pas nouvelle ligne à la fin du dernier caractère de plus, les noms des personnes derrière les chiffres (-01, -02....) changent constamment !

    comment puis je faire ?

    Pour info voici le code qui me permet de récupérer le dernier chiffre, si ca peut aider !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    Dim debut_equipage As Integer = attente.IndexOf("Equipage :") 'position du dernier "équipage :"
            Dim debut_nbr1 As Integer = attente.IndexOf("01-") 'position du dernier nombre
            Dim debut_nbr2 As Integer = attente.IndexOf("02-") 'position du dernier nombre
            Dim debut_nbr3 As Integer = attente.IndexOf("03-") 'position du dernier nombre
            Dim debut_nbr4 As Integer = attente.IndexOf("04-") 'position du dernier nombre
            Dim debut_nbr5 As Integer = attente.IndexOf("05-") 'position du dernier nombre
            Dim debut_nbr6 As Integer = attente.IndexOf("06-") 'position du dernier nombre
            Dim debut_specialiste As Integer = attente.IndexOf("Personnel sans vehicule :") 'position dans le cas d'un départ de specialiste
            Dim debut_nbr_choisie As Integer = 0
            If debut_nbr6 > debut_nbr5 Then 'si -06 est plus grand que -05 alors
                debut_nbr_choisie = debut_nbr6 'la variable prend la position de -06
            ElseIf debut_nbr5 > debut_nbr4 Then 'si -05 est plus grand que -04 alors
                debut_nbr_choisie = debut_nbr5 'la variable prend la position de -05
            ElseIf debut_nbr4 > debut_nbr3 Then 'si -04 est plus grand que -03 alors
                debut_nbr_choisie = debut_nbr4 'la variable prend la position de -04
            ElseIf debut_nbr3 > debut_nbr2 Then 'si -03 est plus grand que -02 alors
                debut_nbr_choisie = debut_nbr3 'la variable prend la position de -03
            ElseIf debut_nbr2 > debut_nbr1 Then 'si -02 est plus grand que -01 alors
                debut_nbr_choisie = debut_nbr2 'la variable prend la position de -02
            ElseIf debut_specialiste > debut_nbr1 Then 'sinon si specialiste est supérieur à -01 alors
                debut_nbr_choisie = debut_specialiste 'la variable prend la position de specialiste
            Else : debut_nbr_choisie = debut_nbr1 'autrement la variable prend la position de -01
            End If

  2. #2
    Membre confirmé
    Homme Profil pro
    Technicien de bureau d etude
    Inscrit en
    Avril 2011
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien de bureau d etude
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 111
    Par défaut
    Je ne sais pas si cela répond bien à ta question mais il existe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim i As Integer = InStr(StrReverse("COCO"), "O")
    où I est la position du premier caractère correspondant à la recherche et StrReverse retournant la chaîne à l'envers.

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Février 2007
    Messages : 758
    Par défaut
    Ok mais dans mon cas je récupère la position de la dernière ligne ! Et comment faire car avant coco j'ai NOIX DE mais je pourrais avoir que une ou deux chaîne de caractère !

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    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 204
    Par défaut
    Citation Envoyé par gastoncs Voir le message
    sachant que je ne peux pas utiliser : ControlChars.NewLine car il n'y a pas nouvelle ligne à la fin du dernier caractère de plus, les noms des personnes derrière les chiffres (-01,
    et pourtant ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dim lignes() = split(lestring, vbcrlf)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    for each ligne as string in lignes
      dim vars() = split(ligne, "- ")
      msgbox ( "numero : " & vars(0) & "  texte : " & vars(1))
    next

    à adapter car il y a de la friture en début de fichier ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

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

Discussions similaires

  1. Comment manipuler une chaine de caractère
    Par belmehdi17 dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 11/03/2008, 16h03
  2. Manipulation de chaine de caractères, supression d'une apostrophe
    Par pmithrandir dans le forum Scripts/Batch
    Réponses: 6
    Dernier message: 28/11/2007, 07h55
  3. Manipulation des chaines de caractères en c
    Par developppez dans le forum C
    Réponses: 8
    Dernier message: 29/04/2007, 13h04
  4. Réponses: 4
    Dernier message: 14/10/2006, 23h38
  5. Réponses: 4
    Dernier message: 20/08/2004, 10h59

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