2017-03-13 5 views
0

文字列 "V237P023F50.5"を別のテキストボックスに分割する方法。文字列を分割してテキストボックスに入れます

私はこのコードをしようとしています:

Dim input As String = "V237P023F50.5" 
TextBox1.Text = input 

Dim parts As String() = input.Split(New String() {"V"}, StringSplitOptions.RemoveEmptyEntries) 
Dim parts1 As String() = input.Split(New String() {"V", "P"}, StringSplitOptions.RemoveEmptyEntries) 
Dim parts2 As String() = input.Split(New String() {"V", "P", "F"}, StringSplitOptions.RemoveEmptyEntries) 

For i As Integer = 0 To parts.Length - 1 
    If i > 0 OrElse input.StartsWith("V") = True Then 
     parts(i) = "" & parts(i) 
     TextBox2.Text = parts(i) 
    End If 
Next 

For i As Integer = 0 To parts1.Length - 1 
    If i > 0 OrElse input.StartsWith("P") = True Then 
     parts1(i) = "" & parts1(i) 
     TextBox4.Text = parts1(i) 
    End If 
Next 

For i As Integer = 0 To parts2.Length - 1 
    If i > 0 OrElse input.StartsWith("F") = True Then 
     parts2(i) = "" & parts2(i) 
     TextBox5.Text = parts2(i) 
    End If 
Next 

の予想される出力

V237 
P023 
F50.5 

私を助けてください。

答えて

1

固定長の場合は、Substring()を使用します。

Dim oldstring As String = "V237P023F50.5" 
TextBox2.Text = oldstring.Substring(0, 4) 
TextBox4.Text = oldstring.Substring(4, 4) 
TextBox5.Text = oldstring.Substring(8) 

英数字が同じ場合は、IndexOf()を部分文字列で使用できます。

Dim oldstring As String = "V237P023F50.5" 
TextBox2.Text = oldstring.Substring(oldstring.IndexOf("V"), (oldstring.IndexOf("P") - oldstring.IndexOf("V"))) 
TextBox4.Text = oldstring.Substring(oldstring.IndexOf("P"), (oldstring.IndexOf("F") - oldstring.IndexOf("P"))) 
TextBox5.Text = oldstring.Substring(oldstring.IndexOf("F")) 
関連する問題