2012-02-16 30 views
0

我有一个字符串,其中有2个部分由 - 分隔。当我将这个值传递给我的新页面时,我只想要第一部分。打断字符串

一个例子值是:MS 25 - 25

我只是想表明:MS 25

我在看的IndexOf()和substring(),但我无法找到如何获得字符串的开始并结束。

+1

什么语言? – Blorgbeard 2012-02-16 16:29:53

+0

我正在使用vb.net – cjohnson2136 2012-02-16 16:30:32

回答

1

这可能帮助: http://www.homeandlearn.co.uk/net/nets7p5.html

基本上子方法有两个参数。起始位置和长度。

在你的情况下,起始位置是0,长度将是由IndexOf方法-1找到的位置。

例如:

Dim s as String 
Dim result as String 

s = "MS 25 - 25" 

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

这正是我正在寻找的。完美谢谢,vb是基于0的 – cjohnson2136 2012-02-16 16:39:31

1

您可以在连字符上使用Split函数。

.Split("-") 

如果你想远离Split的时候,你可以使用SubString

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

编辑

那里没有连字符在所有上面的代码将在实例失败或连字符位于字符串的开始处,并且在连字符周围没有空格时,不会返回完整的前导子字符串。考虑使用这个安全:

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 
+0

我打算使用它作为最不利的手段,因为我宁愿不创建一个字符串数组来获取第一部分。如果有更简单的方法,我宁愿这样做。 – cjohnson2136 2012-02-16 16:33:19

+0

我喜欢这个,原因很简单,如果你的字符串不包含任何连字符,那么字符串数组中的第一个索引仍然是你想要显示的。 – NotMe 2012-02-16 16:35:59

+0

事情是我知道总会有一个连字符,因为我从哪里拉它 – cjohnson2136 2012-02-16 16:41:43