首页 新闻 赞助 找找看

DataView如何进行精确到位数的模糊查询

0
悬赏园豆:5 [待解决问题]

我有一个dataset表格。我要用dataview进行二次查询后放到gridview中。例如我要查询数据中第三个数字开始为14的数据(例如E101415),可是由于dataview中通配符*和%都是代表任意个字符。那么我也提取到了如E141514.E252514之类的数据。那么我该如何做才能使其精确到位数查询。使其就是提取到第三位开始的14的数据。感谢,,,

如果不能解决的话,那么有什么办法能从dataset进行数据查询后提取到gridview中。。。

回望未来的主页 回望未来 | 初学一级 | 园豆:4
提问于:2013-11-03 14:48
< >
分享
所有回答(4)
1

1、写正则表达式,循环匹配dataset中的数据

2、循环dataset,找到你查询列的数据,ToArray,判断arr[i]=="1" &&arr[i+1]=="4" 放到datatable或List中

    

秋壶冰月 | 园豆:5903 (大侠五级) | 2013-11-03 21:26
1

我的思路是: 使用Linq配合正则:

var myDV; // dataview 中的数据

var reg = new Regex(@"^\d{2}[1,4]\w+$");

var result = myDV.where(m=> reg.IsMatch(m.col.ToString()));
袁家小黑球 | 园豆:1045 (小虾三级) | 2013-11-04 09:13

您好,我用正则表达式工具测试了下您的公式,发现有一些错误。

其中的[1,4]应该写成[1][4],否则会匹配到第3位数字为1或者为4的情况。

var reg = new Regex(@"^[E]\d{2}[1][4]\w+$");

 

支持(0) 反对(0) ExDevilLee | 园豆:184 (初学一级) | 2013-11-29 09:59

@ExDevilLee: 不错,真细心,谢谢。

支持(0) 反对(0) 袁家小黑球 | 园豆:1045 (小虾三级) | 2013-11-29 11:00

@袁家小黑球: 呵呵,初学者一枚,还要多多向大家学习!~

支持(0) 反对(0) ExDevilLee | 园豆:184 (初学一级) | 2013-11-29 11:30
0

明显袁家小黑球的方案靠谱哟

少校师长 | 园豆:215 (菜鸟二级) | 2013-11-16 09:32
0

2楼把分赚完了,露个脸,学习下!

大楚打码人 | 园豆:4313 (老鸟四级) | 2014-01-22 15:15
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册