I have a string that has 2 sections broken up by a -. When I pass this value to my new page I just want the first section.

An example value would be: MS 25 - 25

I just want to show: MS 25

I am looking at IndexOf() and SubString() but I can't find how to get the start of the string and drop the end.

有帮助吗?

解决方案

This might help: http://www.homeandlearn.co.uk/net/nets7p5.html

Basically the substring method takes 2 parameters. Start position and length.

In your case, the start position is 0 and length is going to be the position found by the IndexOf method -1.

For example:

Dim s as String
Dim result as String

s = "MS 25 - 25"

result = s.SubString(0, s.IndexOf("-")-1)

其他提示

You could use the Split function on the hyphen.

.Split("-")

If you want to stay away from Split, you could use SubString

yourString.Substring(0, yourString.IndexOf("-") - 1)

EDIT

The above code will fail in the instances where there is no hyphen at all or the hyphen is in the beginning of the string, also when there are no spaces surrounding the hyphen, the full leading substring will not be returned. Consider using this for safety:

Dim pos As Integer
Dim result As String

pos = yourString.IndexOf("-")
If (pos > 0) Then
    result = yourString.Substring(0, pos)
ElseIf (pos = 0) Then
    result = String.Empty
Else
    result = yourString
End If
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top