我有一些行文本。我想从本文中创建事件和意图活动,将它们放在列表中,然后将它们导入数据库。让我更具体一点。假设我有以下句子:“<strong>在Party1 我们会喝点酒,吃非常好的食物,玩ps3 游戏。在Party2 上,我们会唱卡拉OK 并伴着嘻哈歌曲跳舞。”</p>
我希望的输出是:
活动一:Party1
Activitie1: take some drinks
Activitie2: eat very good food
Activitie3: play ps3 games
事件2:派对2
Activitie1: do karaoke
Activitie2: dance with hip hop songs
到目前为止,我所做的是允许特殊字符“#,*”。所以当我有 * 我产生一个事件,当我有 # 我产生一个活动。结果,我可以产生事件和活动,但我无法匹配它们。我需要找到一种方法来匹配(意图)生成的元素。我的代码:
string astring = Convert.ToString(lblrowtext.Text);
if (astring.IndexOf("#") >= 0 || astring.IndexOf("*") >= 0)
{
string[] Eventsarray;
string[] Activitiessarray;
List<string> listofEvents = new List<string>();
List<string> listofActivities = new List<string>();
Activitiessarray = Regex.Matches(astring, @"#([^\*#]*)").Cast<Match>()
.Select(m => m.Groups[1].Value).ToArray();
Eventsarray = Regex.Matches(astring, @"\*([^\*#]*)").Cast<Match>()
.Select(m => m.Groups[1].Value).ToArray();
if (Activitiessarray != null)
{
if (Activitiessarray.Count() > 0)
{
listofActivities = new List<string>(Activitiessarray);
ViewState["listofActivities"] = listofActivities;
Repeater1.DataSource = listofActivities;
Repeater1.DataBind();
}
if (Eventsarray != null)
{
if (Eventsarray.Count() > 0)
{
listofEvents = new List<string>(Eventsarray);
ViewState["listofEvents"] = listofEvents;
Repeater2.DataSource = listofEvents;
Repeater2.DataBind();
}
}
}
}