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

dire si j'ai une chaîne de caractères 010451-09F2

Comment obtenir à gauche 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 du séparateur.

Merci

19
demandé sur acadia 2009-09-22 20:07:32

8 réponses

étant 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, "-"))
31
répondu Reed Copsey 2009-09-22 16:27:34
Dim str As String = "010451-09F2"
Dim leftPart As String = str.Split("-")(0)

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

8
répondu Meta-Knight 2014-11-19 11:05:11

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

 string mystring ="010451-09F2";
 string whatIwant = mystring.Split('-')[0];
1
répondu JL. 2009-09-22 16:12:13

obtenir l'emplacement du tiret en premier (ou le faire en ligne), et utiliser cette valeur pour la gauche. C'est de la vieille école VBA, mais ça va être quelque chose comme ceci:

Left(YourStringWithTheDash, InStr (YourStringWithTheDash)-1)

0
répondu Sarkazein 2009-09-22 16:10:53
dim s as String = "010451-09F2"
Console.WriteLine(s.Substring(0, s.IndexOf("-")))
Console.WriteLine(s.Split("-")(0))
0
répondu shahkalpesh 2009-09-22 16:12:27

utilisez quelque chose comme ceci:

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

0
répondu Nirlep 2009-09-22 16:13:41
    Dim sValue As String = "010451-09F2"
    Debug.WriteLine(sValue.Substring(0, sValue.IndexOf("-"c)))
0
répondu AMissico 2009-09-22 16:14:19

cela a aidé

Dim str1 as string = me@test.com
Dim str As String

str = Strings.Left(str1, str1.LastIndexOf("@"))
0
répondu Nathan Woodburn 2018-04-13 01:22:58