如何使用split获取从datagridview中检索到的中间值

本文关键字:检索 中间 datagridview 何使用 split 获取 | 更新日期: 2023-09-27 18:00:37

hihi我有一个问题想问关于c#和窗口形式

  1. 我有这些数据。。。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",就像我上面提到的那样,数据会改变,那么我怎么总是得到中间值呢??

如何使用split获取从datagridview中检索到的中间值

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++;
  }
  }
  }

  }