すべてのアンパサンド、一重引用符、およびスペース文字がダッシュ「-」に置き換えられる、文字列内の正規表現の一致と置換を実行しようとしています。
...と
繰り返されるすべてのダッシュは、単一のダッシュに置き換えられます。
これは私が試みていることですが、繰り返されるダッシュが置き換えられていないという点で機能していません。どんな助けでも感謝します。
Regex.Replace(mystring, "([' &])|([-]{2,})", "-")
これを試してください(もっと簡単なようです)。結果に「-」が必要になることはないと思います。
string orig = "12467&89- 1&2467'89 12'46789 12467--89";
Regex regex = new Regex("[&' -]+");
string newString = regex.Replace(orig, "-");
出力:
12467-89-1-2467-89-12-46789-12467-8
その正規表現は機能するはずです:
割り当てを行うだけです。
mystring = Regex.Replace(mystring, "([' &])|([-]{2,})", "-");
文字列は不変です。