web-dev-qa-db-fra.com

Gauche d'un caractère dans une chaîne dans vb.net

dire si j'ai une chaîne 010451-09F2

Comment je reste à partir de - de la chaîne ci-dessus dans vb.net

Je veux 010451

La fonction de gauche ne me permet pas de spécifier le caractère séparateur.

Merci

21
acadia

Donné:

Dim strOrig = "010451-09F2"

Vous pouvez effectuer l’une des opérations suivantes:

Dim leftString = strOrig.Substring(0, strOrig.IndexOf("-"))

Ou:

Dim leftString = strOrig.Split("-"c)(0) ' Take the first index in the array

Ou:

Dim leftString = Left(strOrig, InStr(strOrig, "-"))
' Could also be: Mid(strOrig, 0, InStr(strOrig, "-"))
32
Reed Copsey
Dim str As String = "010451-09F2"
Dim leftPart As String = str.Split("-")(0)

Split vous donne les parties gauche et droite d'un tableau de chaînes. Accéder au premier élément (index 0) vous donne la partie gauche.

9
Meta-Knight

Désolé pas sûr sur la syntaxe vb, mais le c # est

 string mystring ="010451-09F2";
 string whatIwant = mystring.Split('-')[0];
1
JL.

Obtenez d'abord l'emplacement du tiret (ou faites-le en ligne) et utilisez cette valeur pour la gauche. Ceci est la vieille école VBA, mais ce sera quelque chose comme ceci:

À gauche (YourStringWithTheDash, InStr (YourStringWithTheDash) -1)

0
Sarkazein
dim s as String = "010451-09F2"
Console.WriteLine(s.Substring(0, s.IndexOf("-")))
Console.WriteLine(s.Split("-")(0))
0
shahkalpesh

Utilisez quelque chose comme ceci:

Mid ("010451-09F2", 1, InStr ("-"))

0
Nirlep
    Dim sValue As String = "010451-09F2"
    Debug.WriteLine(sValue.Substring(0, sValue.IndexOf("-"c)))
0
AMissico

Cela a aidé

Dim str1 as string = [email protected]
Dim str As String

str = Strings.Left(str1, str1.LastIndexOf("@"))
0
Nathan Woodburn