ユーザーがテキストボックスにテキストを入力できるような機能が必要です。いくつかの定義済み文字に基づいて、ユーザーをリンクできるさまざまな属性を特定する必要があります。たとえば :として入力するテキストボックスのユーザーの場合:このデータから、今いくつかの文字に基づいたテキストボックスからの自動キャプチャ値
を「!あなたが1優先順位を持っている#Desktopで作業しようとしているこんにちは@Sunil」 、私は開発者の名前を抽出したいですつまり、@ sunilに基づいています。 #charに基づくチームの名前、デスクトップの優先順位、およびタスクの優先順位!!charは1に基づいています。
このデータは、タスク管理に使用されるWebサイトに入力され、管理者はこれを入力します... そうすれば、それは管理者のためのタスクの高速入力になります。
私はデータを分割して処理することができますが、あまりにも多くの順列と組み合わせがあり、順序の文字(#、@ ,!)を入力できます。
私はこのような何かを試してみましたが、それは助けたdidntの:文ごとに複数のタグが存在する場合
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
@gbianchi - はい、それは、構文解析する前に文字が存在するかどうかを確認する条件付きロジックを追加するのは簡単です。 – Coltech
確かに私の2セント;) – gbianchi