- - PR -
空白込みの12ヶ月分のデータの文字列を12個に分けたい
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-11-01 11:27
VB2005 SQLServerを使ったDBアプリケーションを開発しています。
あるテーブルの一列に12ヶ月分のデータが入っています。 例 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 11000 12000 これを12個のtextboxに分けたいのですが、 空白(スペース)が入っているためsubstringで文字列を分けてみてもうまくいきません。 (空白数が数値の桁によって変わってくるため、一定のsubstringの数字が変わってくる、ということです) このような場合どう処理すればよいでしょうか? [ メッセージ編集済み 編集者: chelsea 編集日時 2008-11-01 11:40 ] | ||||
|
投稿日時: 2008-11-01 11:37
あなたは、この仕様について、どの様に説明を受けたのでしょう?
私には、 個別にはどの様なデータが、 どのような法則によって、 格納されているのかわかりません。 くわえて、 どの様な理由から substring を使おうと考え、 どの様にしたところ、 どの様に期待したことに、 どの様な結果だったので、 「うまくいきません」という結論になったのでしょう? 私は、各データの幅が決まっているなら、substring で実現できると思います。 しかし、月ごとにデータを独立させるほうが良いと思います。 | ||||
|
投稿日時: 2008-11-01 11:47
私もデータの意味がよくわかりませんがSpiltというメソッドならあります。
空白数が数値の桁によってどう変わってくるのか把握すればsubstringでもできると思いますけどね。 | ||||
|
投稿日時: 2008-11-01 12:03
申し訳ありません私の勘違いでした。
空白数が数値の桁によってどう変わってくるのか把握すればよいだけでしたね... 調べたところ数値の桁と空白数の法則がわかりましたので、substring で実装できそうです。 substring を12回も繰り返さず、簡単に月ごとにデータを独立させる方法がないものかと思いまして... 重ね重ね申し訳ありませんでした。 | ||||
|
投稿日時: 2008-11-01 12:13
私にはただの空白区切の数値のみの文字列に見えるのですが、考えが甘いですかね。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2008-11-01 12:48
どういう法則がわかったんでしょう? その空白区切りのデータの仕様を考えた人の立場に立って考えてみましょう。 あるいは、その項目のデータを作成した側のプログラムを想像しましょう。 (1) 空白1つだけを区切り文字として使って12個の数値データをくっつけたもの(可変長) (2) 数値と空白を合わせて一定の桁数に揃えたものを1つのデータとしてそれを12個くっつけたもの(固定長) のどちらかの仕様なのではありませんか? 仕様を考えるときにそれをばらす方法を視野に入れずに決定することはまずありません。 #そもそもばらさなくていいように、別々のフィールドに保持することをまず考えるはずですが 最初の質問投稿で「空白数が数値の桁によって変わってくる」と書かれているので、 (2)のパターンではないのですか? これならば、単純にまず一定の桁数で12個に分割し(Substringの出番)、 その上で分割した各項目をTrimして空白を取り除きます。 [ メッセージ編集済み 編集者: よねKEN 編集日時 2008-11-01 12:49 ] | ||||
|
投稿日時: 2008-11-01 13:55
http://msdn.microsoft.com/ja-jp/library/aa332141.aspx
連続した空白 でsplitするとか |
1