vb.net中字符串中的字符左侧

aca*_*dia 21 vb.net

如果我有一个字符串010451-09F2

如何离开 - 从vb.net中的上述字符串

我想要010451

左边的功能不允许我指定分隔符.

谢谢

Ree*_*sey 32

鉴于:

Dim strOrig = "010451-09F2"
Run Code Online (Sandbox Code Playgroud)

您可以执行以下任何操作:

Dim leftString = strOrig.Substring(0, strOrig.IndexOf("-"))
Run Code Online (Sandbox Code Playgroud)

要么:

Dim leftString = strOrig.Split("-"c)(0) ' Take the first index in the array
Run Code Online (Sandbox Code Playgroud)

要么:

Dim leftString = Left(strOrig, InStr(strOrig, "-"))
' Could also be: Mid(strOrig, 0, InStr(strOrig, "-"))
Run Code Online (Sandbox Code Playgroud)

  • 值得一提的是,如果字符串不包含" - "子字符串... IndexOf将抛出ArgumentOutOfRange异常,但Split方法只返回整个字符串. (6认同)

Met*_*ght 9

Dim str As String = "010451-09F2"
Dim leftPart As String = str.Split("-")(0)
Run Code Online (Sandbox Code Playgroud)

Split为您提供字符串数组中的左右部分.访问第一个元素(索引0)将为您提供左侧部分.

  • 这不是错误.它用于表示" - "是一个字符而不是字符串.(相当于C#中的' - ') (2认同)

小智 0

首先获取破折号的位置(或内联执行),然后将该值用于左侧。这是老式的 VBA,但它会是这样的:

左(YourStringWithTheDash,InStr(YourStringWithTheDash)-1)