私は私が思う簡単なタスクを持っています
私のコードは2つの文字列を生成します
文字列 A (改行区切り)
1
2
3
4
文字列 B (改行区切り)
5
6
7
8
これらの別々の文字列をコンマで区切られた2つの列が隣り合っているかのように1つに結合する方法を見つけようとしています
結果は文字列 C になります
1,5
2,6
3,7
4,8
ありがとう!
私は私が思う簡単なタスクを持っています
私のコードは2つの文字列を生成します
文字列 A (改行区切り)
1
2
3
4
文字列 B (改行区切り)
5
6
7
8
これらの別々の文字列をコンマで区切られた2つの列が隣り合っているかのように1つに結合する方法を見つけようとしています
結果は文字列 C になります
1,5
2,6
3,7
4,8
ありがとう!
両方の文字列を char[] (Char() - 文字配列) (string.ToCharArray()) に変換します。
配列を反復処理します。
境界条件を確認する必要があります (たとえば、文字列の長さが異なる場合)。
'first string
Dim a As String = "abcd"
'second string
Dim b As String = "defghijk"
'Remove Line feeds
Dim tempA As String = a.Replace(vbLf, "")
Dim tempB As String = a.Replace(vbLf, "")
'Get the string with the larger size.
Dim largerSize As Integer = If(tempA.Length > tempB.Length, tempA.Length, tempB.Length)
'We use a string builder to build our new string
Dim sb As New StringBuilder()
'Loop on the larger size and only insert if inside range of string
For i As Integer = 0 To largerSize - 1
If i < tempA.Length Then
sb.Append(a(i))
sb.Append(",")
End If
If i < tempB.Length Then
sb.Append(b(i))
End If
sb.Append(vbLf)
Next
'this is the result
Dim combined As String = sb.ToString()
回答を編集して改行を削除する
文字列結果が編集された後の別の編集
VB.NETにするための別の編集
すばらしい Linq を使用しますZip
。(最初String.Split
に改行文字を含む2つの文字列を作成します)そして次に
Dim column1() As String = {"1", "2", "3", "4"}
Dim column2() As String = {"5", "6", "7", "8"}
Dim mixed= column1.Zip(column2, Function(first, second) first & "," & second)
編集:
ああ、それから、1 つの文字列に戻したい場合は、どちらを使用してもかまいませんがString.Join
、Linq も楽しいです。だからあなたは書くことができます:
Dim mixed= column1.Zip(column2, Function(first, second) first & "," & second)
.Select(i => i.Boo)
.Aggregate((i, j) => i + vbLf + j)
Linq は楽しいと言いましたか?