我想要一個功能,其中用戶可以在文本框中輸入一些文本,並且基於某些預定義的字符,我必須識別用戶可以鏈接的不同屬性。 例如:在文本框中用戶輸入爲: 「你好@Sunil你要在#Desktop具有的優先工作1!」基於某些字符的文本框自動捕獲值
從這個數據現在,我想提取的開發者的姓名,即基於@ ..這是sunil。 基於#char的團隊名稱,這是桌面..和任務的優先級,基於!char是1.
該數據將被輸入到網站上,用於任務管理,管理員將輸入此... 因此,它成爲任務的快速輸入...管理員。
我可以拆分數據並對其進行處理......但是有太多的排列和組合可以輸入順序字符(#,@,!)。
我想這樣的事情,但它沒有幫助:
if (TitleText.Contains("#") && TitleText.Contains("@") && TitleText.Contains("!"))
{
string[] arr = TitleText.Split('#', '@', '!');
title = arr[0];
devName = arr[1].Trim().ToLower();
devTeam = arr[2].Trim().ToLower();
prio = Convert.ToInt32(arr[3]);
} else if (TitleText.Contains("#") && TitleText.Contains("@")) {
string[] arr = TitleText.Split('#', '@');
title = arr[0];
devName = arr[1].Trim().ToLower();
devTeam = arr[2].Trim().ToLower();
// prio = Convert.ToInt32(arr[3]);
} else if (TitleText.Contains("#") && TitleText.Contains("!")) {
string[] arr = TitleText.Split('#', '!');
title = arr[0];
devName = arr[1].Trim().ToLower();
//devTeam = arr[2];
prio = Convert.ToInt32(arr[2]);
} else if (TitleText.Contains("@") && TitleText.Contains("!")) {
string[] arr = TitleText.Split('@', '!');
title = arr[0];
// devName = arr[1];
devTeam = arr[1].Trim().ToLower();
prio = Convert.ToInt32(arr[2]);
} else if (TitleText.Contains("#")) {
string[] arr = TitleText.Split('#');
title = arr[0];
devName = arr[1].Trim().ToLower();
//devTeam = arr[1];
//prio = Convert.ToInt32(arr[2]);
} else if (TitleText.Contains("@")) {
string[] arr = TitleText.Split('@');
title = arr[0];
// devName = arr[1];
devTeam = arr[1].Trim().ToLower();
//prio = Convert.ToInt32(arr[2]);
} else if (TitleText.Contains("!")) {
string[] arr = TitleText.Split('!');
title = arr[0];
// devName = arr[1];
//devTeam = arr[1];
prio = Convert.ToInt32(arr[1]);
}
這將拋出一個錯誤,如果任何搜索字符的不存在。 – gbianchi 2012-03-08 13:13:46
@gbianchi - 是的,它會增加條件邏輯以檢查解析之前是否存在字符,這將是微不足道的。 – Coltech 2012-03-08 13:17:44
肯定只有我的兩美分;) – gbianchi 2012-03-08 13:19:03