私は長い文字列を持っています。ここでは、 "予約語"があり、dbの値に置き換える必要があります。#regex動的マッチの問題を置き換えますか?
eg.
string text = "You're salary for the month of ((month)) is ((salary))
今、私がやったことは、それぞれ、すべての予約語と一致して、私のデータセットを検索して、その値が今
Regex ex = new Regex(@"(?<=\(\().*?(?=\)\))");
foreach(Match match in ex.Matches(body)){
string valuefromset = values.FirstOrDefault(val => val.Variable == match.Value).Value;
var pattern = @"(("+match.Value+"))";
body = Regex.Replace(body, pattern, valuefromset, RegexOptions.IgnoreCase);
}
}
を有するものを置き換えることだった何が起こっているのか、この
text = "You're salary for the month of ((April)) is (($10000))";
です
私はパターンがなぜ言葉だけを取得し、タグを取得しないのか分からなかった。私は別の正規表現を使用するべきですが、特定の値を使用しますか?特定の予約語を持っていることはパターンの中で重要な意味を持つので、私はそれを使用しました。本当に何をしているのか分かりませんでした。
何か助けていただければ幸いです。ありがとう!!!
何も直接関係していますが、「あなた」の代わりに「あなたがしている」の使用する必要があります。これを試してみてくださいません。 – Shimrod
トークン(予約語)が文字列内に存在するかどうかは不明ですか?潜在的なトークンはたくさんありますか?それはStringBuilderの.Replaceメソッドを使用すると効率的で複雑になるようです。 – MyItchyChin