如何使用split获取从datagridview中检索到的中间值
本文关键字:检索 中间 datagridview 何使用 split 获取 | 更新日期: 2023-09-27 18:00:37
hihi我有一个问题想问关于c#和窗口形式
-
我有这些数据。。。A、 B、C;A1,B1,C1;A2,B2,C2;(这个数据不是硬编码的,当更多的数据插入时,它可以继续更改),我选择这个名为ColABC的数据库列,然后检索并放入数据网格视图中,那么,是否可以始终获取中间数据?。。。。但它始终是这种格式record1数据,record1数据、record1;记录2数据,记录3数据,记录。。。并且所以我希望这个数据所有的中间值都检索出来,变成这个B,B1,B2……等等…
ID | ColABC 1 | A,B,C; A1,B1,C1; A2,B2,C2;
这就像我的DataGridView
,上面。
我唯一知道的是先用;
拆分,然后用,
拆分。
有直接的方法吗?
我试着这样做:
string[] doll = null;
doll = Convert.ToString(DGV.CurrentRow.Cells[0].Value).Split(';');
基本上就像上面的代码一样,娃娃得到了"A,B,C;A1,B1,C1;A2,B2,C2;"我从datagridview中检索到的这些数据,所以如果我声明roll[0],它会给我"A,B,C",就像我上面提到的那样,数据会改变,那么我怎么总是得到中间值呢??
var input = "A,B,C; A1,B1,C1; A2,B2,C2;";
var resultList = Regex.Matches(input, @".*?,(.*?),.*?;")
.Cast<Match>()
.Select(arg => arg.Groups[1].Value)
.ToList();
var firstValue = resultList[0];
var secondValue = resultList[1];
// bind to a combobox
comboBox1.DataSource = resultList;
var comaSeparatedString = string.Join(",", resultList);
string testString = "A,B,C; A1,B1,C1; A2,B2,C2;";
Regex rgx = new Regex("[^,]+,([^,]+),[^,]+");
List<string> whatYouWant = testString.Split(';').Select(a => rgx.Replace(a, "$1")).ToList();
或
string testString = "A,B,C; A1,B1,C1; A2,B2,C2;";
Regex rgx = new Regex("[^,;]+,([^,;]+),[^,;]+;?");
for(Match m = rgx.Match(testString); m.Success; m = m.NextMatch())
{
Console.WriteLine(m.Groups[1].Value);
}
这个呢。。。。不在我的设备中,要测试此代码。。。尽管如此,这还是一种方法。。。
foreach(DataGridViewRow dgvr in Datagridview.Rows){
if(dgvr!=null){
string middlevalues="";
string testString= dgvr.Cells[ColumnIndex].Value.ToString();
//If this string is string testString = "A,B,C; A1,B1,C1; A2,B2,C2;";
string[] basesplit = testString.Split(';');
int i=0;
foreach(string words in baseplit){
if(i<baseplit.Count-1){
middlevalues=words.Split(',')[1].ToString()+','
}else{ middlevalues=words.Split(',')[1].ToString();
i++;
}
}
}
}