%
で始まる単語を置き換える必要があります。正規表現分割と置換
私に{ brand, productName }
を与えるだろう%
で初めの単語に分割することを望んでWelcome to home | %brand %productName
たとえば。
私の正規表現は平均よりも小さいので、これを参考にしていただければ幸いです。
%
で始まる単語を置き換える必要があります。正規表現分割と置換
私に{ brand, productName }
を与えるだろう%
で初めの単語に分割することを望んでWelcome to home | %brand %productName
たとえば。
私の正規表現は平均よりも小さいので、これを参考にしていただければ幸いです。
のstring.Splitアプローチと間違って何も、あなたの心が、ここでは正規表現のアプローチがあります:
string input = @"Welcome to home | %brand %productName";
string pattern = @"%\S+";
var matches = Regex.Matches(input, pattern);
string result = string.Empty;
for (int i = 0; i < matches.Count; i++)
{
result += "match " + i + ",value:" + matches[i].Value + "\n";
}
Console.WriteLine(result);
これは私が探していたことに感謝しています。私の正規表現をブラッシュアップする必要があります。私は以前にstring.splitアプローチを使用しましたが、あまり煩雑な方法を探していました。再度、感謝します – Christo
これを試してみてください:
(?<=%)\w+
これはすぐにパーセント記号が先行する単語文字の任意の組み合わせを探します。
検索を行うと、これらの一致に置き換えている場合さて、あなたはおそらく、あなたが後読みグループを削除し、ちょうどこれを持っている必要があると思いますので、同様に%記号を削除したいと思う:
%\w+
しかし、そうすることで、置換コードは単語を単独で取得するために、各一致の%記号を切り捨てる必要があります。
グループを照合し、必要なものを置き換えるには '%(\ w +)'を使用できます。 –
コードはあなたを助けるないかもしれない次のとおりです。
string[] splits = "Welcome to home | %brand %productName".Split(' ');
List<string> lstdata = new List<string>();
for(i=0;i<splits.length;i++)
{
if(splits[i].StartsWith("%"))
lstdata.Add(splits[i].Replace('%',''));
}
を使用すると、%ブランド%を使用した場合それは容易になるだろう%productName% – Christophe
"brand"と "productName"だけを含む配列を取得しようとしているのですか?そうであれば、これらの単語を置き換えようとしていますか? –
あなたが望む解決策があれば、答えをマークして忘れることはありません –