OVH Cloud OVH Cloud

Extraire une chaine de caractères

3 réponses
Avatar
Jacques
Bonjour,

Après plusieurs essais malheureux, comment extraire une chaine de caractères
se strouvant entre deux chaines connue ??

Par exemple extraire le texte entre DEBUT et FIN . DEBUT et FIN étant
connus.


Merci de vos réponses

Jacques

3 réponses

Avatar
Millox Frédéric
Bonjour,

D'abord une fonction :

Private Function RecupererChaine(ByVal ChaineAExtraire As String, ByVal
Chaine1 As String, ByVal Chaine2 As String, Optional ByVal PositionDepart As
Int32 = 0) As String
Dim positionChaine1, positionChaine2 As Int32
Dim chaineRecupere As String

chaineRecupere = String.Empty
positionChaine1 = ChaineAExtraire.IndexOf(Chaine1, PositionDepart)
If positionChaine1 <> -1 Then
positionChaine1 += Chaine1.Length
positionChaine2 = ChaineAExtraire.IndexOf(Chaine2,
positionChaine1)
If positionChaine2 <> -1 Then chaineRecupere =
ChaineAExtraire.Substring(positionChaine1, positionChaine2 - positionChaine1)
End If

Return chaineRecupere
End Function

puis pour tester dans le code principal :

Dim resultat As String

resultat = RecupererChaine("cbwxbcwxbDEBUTtotoFINmùfgfdgkopkgfdg",
"DEBUT", "FIN")
If Not resultat Is String.Empty Then Console.WriteLine(resultat)

resultat =
RecupererChaine("cbwxbcwxbDEBUTtotoFINmùfgfdgkopkgfdgDEBUTtutuFINpkskldfjsdj", "DEBUT", "FIN", 25)
If Not resultat Is String.Empty Then Console.WriteLine(resultat)

resultat =
RecupererChaine("cbwxbcwxbDEBUTtotoFINmùfgfdgkopkgfdgDEBUTtutuFINpkskldfjsdj", "AutreDEBUT", "FIN")
If Not resultat Is String.Empty Then Console.WriteLine(resultat)

resultat =
RecupererChaine("cbwxbcwxbDEBUTtotoFINmùfgfdgkopkgfdgDEBUTtutuFINpkskldfjsdj", "DEBUT", "AutreFIN")
If Not resultat Is String.Empty Then Console.WriteLine(resultat)

Bonne journée.

--
fmillox


"Jacques" a écrit :

Bonjour,

Après plusieurs essais malheureux, comment extraire une chaine de caractères
se strouvant entre deux chaines connue ??

Par exemple extraire le texte entre DEBUT et FIN . DEBUT et FIN étant
connus.


Merci de vos réponses

Jacques





Avatar
Jacques
Merci pour ta réponse.

Jacques


"Millox Frédéric" a écrit dans le
message de news:
Bonjour,

D'abord une fonction :

Private Function RecupererChaine(ByVal ChaineAExtraire As String, ByVal
Chaine1 As String, ByVal Chaine2 As String, Optional ByVal PositionDepart


As
Int32 = 0) As String
Dim positionChaine1, positionChaine2 As Int32
Dim chaineRecupere As String

chaineRecupere = String.Empty
positionChaine1 = ChaineAExtraire.IndexOf(Chaine1, PositionDepart)
If positionChaine1 <> -1 Then
positionChaine1 += Chaine1.Length
positionChaine2 = ChaineAExtraire.IndexOf(Chaine2,
positionChaine1)
If positionChaine2 <> -1 Then chaineRecupere > ChaineAExtraire.Substring(positionChaine1, positionChaine2 -


positionChaine1)
End If

Return chaineRecupere
End Function

puis pour tester dans le code principal :

Dim resultat As String

resultat = RecupererChaine("cbwxbcwxbDEBUTtotoFINmùfgfdgkopkgfdg",
"DEBUT", "FIN")
If Not resultat Is String.Empty Then Console.WriteLine(resultat)

resultat >


RecupererChaine("cbwxbcwxbDEBUTtotoFINmùfgfdgkopkgfdgDEBUTtutuFINpkskldfjsdj
", "DEBUT", "FIN", 25)
If Not resultat Is String.Empty Then Console.WriteLine(resultat)

resultat >


RecupererChaine("cbwxbcwxbDEBUTtotoFINmùfgfdgkopkgfdgDEBUTtutuFINpkskldfjsdj
", "AutreDEBUT", "FIN")
If Not resultat Is String.Empty Then Console.WriteLine(resultat)

resultat >


RecupererChaine("cbwxbcwxbDEBUTtotoFINmùfgfdgkopkgfdgDEBUTtutuFINpkskldfjsdj
", "DEBUT", "AutreFIN")
If Not resultat Is String.Empty Then Console.WriteLine(resultat)

Bonne journée.

--
fmillox


"Jacques" a écrit :

> Bonjour,
>
> Après plusieurs essais malheureux, comment extraire une chaine de


caractères
> se strouvant entre deux chaines connue ??
>
> Par exemple extraire le texte entre DEBUT et FIN . DEBUT et FIN étant
> connus.
>
>
> Merci de vos réponses
>
> Jacques
>
>
>


Avatar
Jacques
Merci pour ta réponse.

Jacques


"Millox Frédéric" a écrit dans le
message de news:
Bonjour,

D'abord une fonction :

Private Function RecupererChaine(ByVal ChaineAExtraire As String, ByVal
Chaine1 As String, ByVal Chaine2 As String, Optional ByVal PositionDepart


As
Int32 = 0) As String
Dim positionChaine1, positionChaine2 As Int32
Dim chaineRecupere As String

chaineRecupere = String.Empty
positionChaine1 = ChaineAExtraire.IndexOf(Chaine1, PositionDepart)
If positionChaine1 <> -1 Then
positionChaine1 += Chaine1.Length
positionChaine2 = ChaineAExtraire.IndexOf(Chaine2,
positionChaine1)
If positionChaine2 <> -1 Then chaineRecupere > ChaineAExtraire.Substring(positionChaine1, positionChaine2 -


positionChaine1)
End If

Return chaineRecupere
End Function

puis pour tester dans le code principal :

Dim resultat As String

resultat = RecupererChaine("cbwxbcwxbDEBUTtotoFINmùfgfdgkopkgfdg",
"DEBUT", "FIN")
If Not resultat Is String.Empty Then Console.WriteLine(resultat)

resultat >


RecupererChaine("cbwxbcwxbDEBUTtotoFINmùfgfdgkopkgfdgDEBUTtutuFINpkskldfjsdj
", "DEBUT", "FIN", 25)
If Not resultat Is String.Empty Then Console.WriteLine(resultat)

resultat >


RecupererChaine("cbwxbcwxbDEBUTtotoFINmùfgfdgkopkgfdgDEBUTtutuFINpkskldfjsdj
", "AutreDEBUT", "FIN")
If Not resultat Is String.Empty Then Console.WriteLine(resultat)

resultat >


RecupererChaine("cbwxbcwxbDEBUTtotoFINmùfgfdgkopkgfdgDEBUTtutuFINpkskldfjsdj
", "DEBUT", "AutreFIN")
If Not resultat Is String.Empty Then Console.WriteLine(resultat)

Bonne journée.

--
fmillox


"Jacques" a écrit :

> Bonjour,
>
> Après plusieurs essais malheureux, comment extraire une chaine de


caractères
> se strouvant entre deux chaines connue ??
>
> Par exemple extraire le texte entre DEBUT et FIN . DEBUT et FIN étant
> connus.
>
>
> Merci de vos réponses
>
> Jacques
>
>
>