2013-11-01 127 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

其实我可以肯定这个问题是的,他可以搜索拆分,但我认为解决将坐标分成不同变量来保存各个值的问题只是将代码拆分因为你之后必须做些事情来拯救那些个人的爱国,我否定了其中的一个,因为我也是一个新手,并且发现它很有用。 –

相关问题