- - PR -
DataTableの空白がついたデータに対するフィルタリングについて
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-04-10 18:54
お世話になっております。
vs2005 C#にて 下記コードで DataTableのフィルタリングを行った場合に 意図しないデータ(1番と4番)も抽出されてしまいます。 この場合、2番のみ抽出できるような方法ははありませんでしょうか? ご教授の程 よろしくお願いいたします 。 --------------------------------------------- DataTable dataTable = new DataTable(); dataTable.Columns.Add("code",typeof(int)); dataTable.Columns.Add("name",typeof(string)); // 文字だけ dataTable.Rows.Add(new object[] { 1 , "a" }); // 後ろに半角スペース dataTable.Rows.Add(new object[] { 2 , "a " }); // 前に半角スペース dataTable.Rows.Add(new object[] { 3 , " a" }); // 後ろに全角スペース dataTable.Rows.Add(new object[] { 4 , "a " }); // 前と後ろに半角スペース dataTable.Rows.Add(new object[] { 5 , " a " }); // 文字の間に半角スペース dataTable.Rows.Add(new object[] { 6 , "a a" }); // 後方に半角スペースがあるもののみ抽出 DataRow[] dataRows = dataTable.Select("name = 'a '"); --------------------------------------------- |
|
投稿日時: 2007-04-10 20:17
タブや改行も、空白“類”として、同じに扱われちゃうんじゃないかなぁ?
今出先なので調べられないのですが、「文字列 比較」あたりで MSDN を検索して、出てこないですか? 正規表現には、そういうオプションがあったと思うけど、どうかなぁ? _________________ |
|
投稿日時: 2007-04-11 00:28
試していないのですが、
DataTable.CaseSensitive に true を設定するとかじゃダメでしょうか? |
|
投稿日時: 2007-04-11 13:59
Jittaさん、KIさん御回答ありがとうございます。
Jittaさん MSDNで文字列比較等で調べてみましたところ 比較方法を定義するものとして CompareInfoクラスやCompareOptions列挙体が ヒットしまして DataTableクラスにどうにか設定できないかと 試みてみましたが うまくいきませんでした。 KIさん CaseSensitiveプロパティをTrueにして 大文字と小文字を区別できるようにはなりましたが 文字列の最後の空白については扱いが変わりませんでした。 |
|
投稿日時: 2007-04-11 19:28
バッチ ファイルで使う手
COL || '$$' = 'A $$' 文字列連結は Oracle 形式で書いているので、適切に修正して下さい。 _________________ |
|
投稿日時: 2007-04-12 13:13
Jittaさん
教えていただきました方法で 試してみましたところ 空白(有、無、半角、全角)をすべて 判別できるようになりました。 ありがとうございます。 |
1