日期:2014-05-19  浏览次数:20756 次

这样的字符串应当如何拆分成数组,谢谢
数据格式如下:(其中有个 ' '中间有,号)

publist( '220929 ', '67 ', '美洲金盃 ', '3032 ', '3031 ', '墨西哥,丹麦 ', '巴拿馬 ', 'H ');
publist( '220930 ', '68 ', '美洲金盃 ', '3033 ', '3031 ', '埃及,丹麦 ', '巴拿馬 ', 'H ');

要求得出数组

a[0]是等于   220929
.
.
a[5]是等于   墨西哥,丹麦
.
.
这样的数组,有什么办法可以解决


------解决方案--------------------
如果是插入到数据库,直接得到数据插入就行了吧

因为需要多少个数组事先是未知的,动态创建数组很麻烦,可以建个二维数组,但是也没那个必要吧

//这里得到第一个 '220929 ', '67 ', '美洲金盃 ', '3032 ', '3031 ', '墨西哥,丹麦(ab/cc) ', '巴拿馬 ', 'H '这样的集合
MatchCollection mc1 = Regex.Matches(yourStr, @ "(? <=publist\()[\s\S]*?(?=\);) ", RegexOptions.IgnoreCase);
foreach (Match m1 in mc1)
{
//对每条记录单独处理
MatchCollection mc2 = Regex.Matches(m1.Value, @ " '(? <content> [^ ']*) ' ");
foreach (Match m2 in mc2)
{  //这里就是最好输出的内容了,可以在这里处理,直接插入数据库
richTextBox2.Text += m2.Groups[ "content "].Value + "\n ";
}
}