電気ウナギ的○○

About Home

VB.NET で、文字列を1バイトずつに分解

shinoda (2015年1月30日 17:38)
設定情報なんかを "01100" みたいな文字列にして保管することってあるだろう。
例えば、YES/NO 式のアンケート結果を DB に保存する時に、
「5問の答えを、YES なら 1、NO なら 0 にして一つの文字列にして保存」
なんてね。(特に、Web 系なんかで、フレームワーク化するために DB の全項目の型を「文字列型(VARCHAR)」に統一してる時なんかさ)

上の例が A さんのデータだとすれば、A さんは、2問目、3問目のみ YES と答え、その他は NO と答えたということだな。

こういう文字列を処理する時、1バイトずつに分解して配列に突っ込むのもよくやる方法だろう。

Perl なら、split 関数使って、

@data = split //, $enquate;

で、

$data[0] = 0
$data[1] = 1
$data[2] = 1
$data[3] = 0
$data[4] = 0

のように保存される。
本来、// の間には区切り文字(separator)が入るが、何も入れなければ1文字ずつに分解する。

VB.NET にも Split メソッドが存在しているので、

Dim data() As String = enquate.Split()

みたいに書いてみたけど駄目だった。
Split メソッドの場合、区切り文字を省略した場合、半角スペースを指定したものとみなすようだ。
なんだその仕様(^^;
ああ、英語の場合は、単語間に半角スペースが入るのでこういう仕様は都合がいいのか。文章を単語毎に分割する時。ま、半角スペースくらい、面倒くさがって省略すんなやって思うけど。

まあ、代わりにキャラクタ単位で文字列を分割して配列化する ToCharAllay メソッドがあるので許すけど。

Dim data() As Char = enquate.ToCharArray

これで、data 配列に1文字ずつに分解されたデータが格納される。

電気ウナギ的○○

電気ウナギ的○○

About Back

コメント(0)

電気ウナギ的○○

電気ウナギ的○○

About Back

トラックバック(0)

トラックバックURL: https://blog.netandfield.com/mt/mt-tb.cgi/3296

電気ウナギ的○○

About This Site

電気ウナギ的○○
岩国在住。広島で働く超零細IT企業社長のいわゆる社長日記。
何か、酒と食い物のことばかり書いているようで・・・お察しのとおり、肥満体です:-)


2011/06/24
iPhone用サイト公開

Create with jQuery, jQTouch.


CLOSE