web-dev-qa-db-ja.com

文字列内の特殊文字をスペースに置き換える正規表現? asp.net c#

string inputString = "1/10 EP Sp'arrowha?wk XT R;TR 2.4GHz Red";
//Characters Collection: (';', '\', '/', ':', '*', '?', ' " ', '<', '>', '|', '&', ''')
string outputString = "1 10 EP Sp arrowha wk XT R TR 2.4GHz Red";
9
DotNetDeveloper

次のコードに関する完全な開示:

  • テストされていません
  • おそらくnew Regex(...)でエスケープする文字を台無しにしました。
  • 私は実際にはC#を知りませんが、Googleで"C# string replace regex"および MSDNの土地

    Regex re = new Regex("[;\\/:*?\"<>|&']");
    string outputString = re.Replace(inputString, " ");
    

正しいコードは次のとおりです。

string inputString = "1/10 EP Sp'arrowha?wk XT R;TR 2.4GHz R\\ed";
Regex re = new Regex("[;\\\\/:*?\"<>|&']");
string outputString = re.Replace(inputString, " ");
// outputString is "1 10 EP Sp arrowha wk XT R TR 2.4GHz R ed"

デモ: http://ideone.com/hrKdJ

また: http://www.regular-expressions.info/

21
Matt Ball
string outputString = Regex.Replace(inputString,"[;\/:*?""<>|&']",String.Empty)
4
ic3b3rg

これがJava特殊文字を置き換えるコードです

String inputString = "1/10 EP Sp'arrowha?wk XT R;TR 2.4GHz R\\ed";
String re = "[;\\\\/:*?\"<>|&']";
Pattern pattern = Pattern.compile(re);
Matcher matcher = pattern.matcher(inputString);
String outputString = matcher.replaceAll(" ");
0