2013-11-01 314 views
-2

我想分割字符串39 -562 -18,它們分別代表XAxis,YAxis和ZAxis。我如何將它們分成單獨的字符串?如何將字符串拆分爲單個字符串?

+3

-1:字符串有方法[分割](http://msdn.microsoft.com/en-us/library/b873y76a(v = vs.110).aspx)當你是相對容易找到尋找方法來「拆分字符串vb.net」 - 你應該先試過,並且比你的問題會好得多... –

回答

3

使用Split" "c表示空格字符。

Dim coordinates As String = "39 -562 -18" 
Dim splitCoordinates As String() = coordinates.Split(" "c) 
Dim xcoordinate As String = splitCoordinates(0) 
Dim ycoordinate As String = splitCoordinates(1) 
Dim zcoordinate As String = splitCoordinates(2) 
+0

[Split method](http://msdn.microsoft.com/en-us/ library/6x627e5f(v = vs.90).aspx)將字符串分隔符不是字符。你爲什麼使用C字符文字?默認的分隔符是一個空格,所以你實際上不需要指定它。 – Harrison

+0

您正在查看錯誤的拆分方法。我正在使用[String.Split](http://msdn.microsoft.com/en-us/library/b873y76a.aspx),它沒有默認值。 – Jack

+0

是的。我的錯。 ;-( – Harrison

0

可以使用拆分功能

Dim coords = " 39 -562 -18" 
Dim axis = coords.Trim().Split(" ") 

Dim XAxis = Convert.ToSingle(axis(0)) 
Dim YAxis = Convert.ToSingle(axis(1)) 
Dim ZAxis = Convert.ToSingle(axis(2)) 
1

你也可以做這樣的事情:

Private Sub Button_Click(sender As Object, e As RoutedEventArgs) 
    Dim axis = New Axis(" 39 -562 -18") 
    MessageBox.Show(axis.XAxis) 
    MessageBox.Show(axis.YAxis) 
    MessageBox.Show(axis.ZAxis) 
End Sub 

這是軸類

代碼
''' <summary> 
''' Axis string Parser Class 
''' </summary> 
Public Class Axis 
    Public XAxis 
    Public YAxis 
    Public ZAxis 

    ''' <summary> 
    ''' String containing coordinates like " 39 -562 -18" 
    ''' </summary> 
    Public Sub New(coords As String) 
     Dim axis = coords.Trim().Split(" ") 

     XAxis = Convert.ToSingle(axis(0)) 
     YAxis = Convert.ToSingle(axis(1)) 
     ZAxis = Convert.ToSingle(axis(2)) 
    End Sub 
End Class 
0

警告我的答案是C#版本不是VB.NET:

我發現這很有用,所以我也自己做了一個C#版本。不知道我的代碼有多好,我是一個新手,但希望這會增加這個問題的價值。

char[] delimiter = { ' ' }; 
    string text = "39 -562 -18"; 

    string[] words = text.Split(delimiter); 

    string xcoord = words[0], ycoord = words[1], zcoord = words[2]; 
    ViewBag.Message = "Xcoord: " + xcoord + " Ycoord: " + ycoord + " Zcoord: " + zcoord ; 

如果我們不知道什麼分隔符會分離值呢?
,只需添加更多的分隔符:

char[] delimiter = { ' ', ',', '.', ':', '\t' }; 
    string text = "39,-562:-18"; 

    string[] words = text.Split(delimiter); 

    string xcoord = words[0], ycoord = words[1], zcoord = words[2]; 
    ViewBag.Message = "Xcoord: " + xcoord + " Ycoord: " + ycoord + " Zcoord: " + zcoord ; 

希望這有助於誰碰到這個線程運行,就像是,該死的人,我希望我知道該怎麼做,在C#...笑

所以我只是用ViewBag用於測試目的,但沒有最後viewBag線.. 的XCOORDYCOORDzcoord應保持相應的值。

+0

其實我可以肯定這個問題是的,他可以搜索拆分,但我認爲解決將座標分成不同變量來保存各個值的問題只是將代碼拆分因爲你之後必須做些事情來拯救那些個人的愛國,我否定了其中的一個,因爲我也是一個新手,並且發現它很有用。 –

相關問題