私はC#でユーザーが名前を入力できる小さなパーサーを構築しています。今、これらの名前はthreeformatsになります句読点を削除するが、スラッシュを無視する正規表現ですか?
"name" OR "name/name" OR "name-name"
ユーザーが、私は正規表現が起こって得たこれらを削除するには、このようなname?
やname.
など、さまざまな句読点と入力文字列を書くかもしれませんが、次のようになります。
var expression = "name/name";
var regexPunctuation = new Regex(@"[^-\w\s]");
expression = regexPunctuation.Replace(expression, string.Empty);
私の正規表現は、間に-
という単一の名前と名前で動作しますが、名前にはスラッシュが付きません。ユーザーがname/name
を入力すると、結果はちょうどname name
になります。正規表現をスラッシュを無視するように変更すると、結果はname/name
になりますか? name/name
の余分なスペースに注意してください。このような/
をエスケープしてみ
new Regex(@"[^-/\w\s]")
あなたは無視するパターンにスラッシュを追加しようとしましたか? '新しい文字列(@" [^ - \ w \ s /] "); ' – DolceVita
文字列を最初に分割し、2つの部分文字列のそれぞれを処理してから元に戻します。 '/'がなければ、 'name'部分だけを処理します。 –
余分なスペースは問題と何が関係していますか?あなたは「メモをとってください」と言いますが、私が見る限りでは、彼らは問題とは何の関係もありません。関連性がある場合は、詳細を説明してください。 –