のような文字列がありますs = "abcdefgh"
。次のような文字数で分割したい:
a(0)="ab"
a(1)="cd"
a(2)="ef"
a(3)="gh"
誰かがこれを行う方法を教えてもらえますか?
正規表現を使用して、2 文字のグループに分割できます。
Dim parts = Regex.Matches(s, ".{2}").Cast(Of Match)().Select(Function(m) m.Value)
デモ: http://ideone.com/ZVL2a (C#)
ループを記述する必要のない Linq メソッドを次に示します。
Const splitLength As Integer = 2
Dim a = Enumerable.Range(0, s.Length \ splitLength).
Select(Function(i) s.Substring(i * splitLength, splitLength))
2文字ごとに分割することは、あなたが望んでいたことだと思います
Dim s As String = "aabbccdd"
For i As Integer = 0 To s.Length - 1 Step 1
If i Mod 2 = 0 Then
Console.WriteLine(s.Substring(i, 2))
End If
Next
代わりにa を使用するとList(Of String)
、簡単になります。
Dim s = "aabbccdde" ' yes, it works also with an odd number of chars '
Dim len = 2
Dim list = New List(Of String)
For i = 0 To s.Length - 1 Step len
Dim part = If(i + len > s.Length, s.Substring(i), s.Substring(i, len))
list.Add(part)
Next
Dim result = list.ToArray() ' if you really need that array '