C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: 配列に分配


(過去ログ 103 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■61629 / inTopicNo.1)  配列に分配
  
□投稿者/ gogo (1回)-(2011/08/24(Wed) 14:35:58)

分類:[VB.NET/VB2005 以降] 

targetStringの変数にテキストで以下の様に入っています。

abc,a111
def,a112
ghi,a113

これを 配列 sam_d に入れています。
sam_d(0)=abc,a111
sam_d(1)=def,a112
sam_d(2)=ghi,a113
となります。

これを
sam_d(0,0)=abc sam_d(0,1)=a111
sam_d(1,0)=def sam_d(1,1)=a112
sam_d(2,0)=ghi sam_d(2,1)=a113
こんな感じにしたいです。
要は現在は、改行だけで配列に分配していますが、カンマも
認識して、二次元配列とかにしたいのですが
sam_d(0,0)この配列の使用方法は変えてもいいですが、
どの様な方法があるでしょうか?

'配列に変換する。
Sub dim_conv(ByVal targetString As String)
'区切り文字は改行
Dim delimiter As Char = Chr(13) ' カンマの時は 【","c】とする。
'分割した結果を文字列の配列で受け取る
Dim splittedResult As String() = targetString.Split(delimiter)
sam_d = splittedResult.Clone
End Sub
引用返信 編集キー/
■61630 / inTopicNo.2)  Re[1]: 配列に分配
□投稿者/ shu (953回)-(2011/08/24(Wed) 15:11:00)
No61629 (gogo さん) に返信

List(Of String())
に行ごとに追加していくのはどうでしょう?

Dim lst as new List(Of String())

Dim delimiter As Char = Chr(13) 
For Each LineStr in targetString.Split(delimiter)
    lst.Add(LineStr.Split(","c))
Next

引用返信 編集キー/
■61631 / inTopicNo.3)  Re[1]: 配列に分配
□投稿者/ 魔界の仮面弁士 (2326回)-(2011/08/24(Wed) 15:15:14)
No61629 (gogo さん) に返信
> 二次元配列とかにしたいのですが
> sam_d(0,0)この配列の使用方法は変えてもいいですが、

ジャグ配列にしてみるとか。

Dim targetString As String = "abc,a111|def, a112|ghi,a113".Replace("|", vbNewLine)

Dim sam_d()() As String = Split(targetString, vbNewLine).Select(Function(s) s.Split(",")).ToArray()

MsgBox(sam_d(0)(0)) : MsgBox(sam_d(0)(1))
MsgBox(sam_d(1)(0)) : MsgBox(sam_d(1)(1))
MsgBox(sam_d(2)(0)) : MsgBox(sam_d(2)(1))
引用返信 編集キー/
■61635 / inTopicNo.4)  Re[2]: 配列に分配
□投稿者/ gogo (2回)-(2011/08/24(Wed) 17:00:04)
早速のご回答大変有り難う御座いました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -