2016-11-09 1 views
-5

の交換におけるサイズの製品名の番号を持っている。C#の正規表現は、数値と単位

例えば "X 300グラム"、 "×400 G"、 "X 250キロ"、 "X 25キロ"。

今、私は「300グラム」、「25キロ」から「25キロ」に「ナンバー・ユニット」、すなわち「300グラム」と「NumberUnit」のすべてのインスタンスを置き換えたい、など

私が知っているIループと文字列の置き換えで簡単にそれを行うことができますが、何百万もの製品があり、そうするためには長い時間がかかりそうです。

代わりに、各製品名にRegex.Replace()を実行することをお勧めします。

同意?あなたは正規表現をどのように書いていますか?

ありがとうございました。

(?<=\d)(?=[a-zA-Z]) 

彼らは間にスペースがない場合、以前の正規表現は、数字と単位のみとの間の位置をキャプチャします:

+4

[30ミニッツ正規表現のチュートリアル](http://www.codeproject.com/Articles/9099/The-Minute-Regex-Tutorial)この記事を読んで、あなたがすでに試したコードをいくつか挙げてください。 – lukai

+1

あなたがそれをするために何らかの努力をしたことを私たちに教えてください。あなたのコードはどこですか? – Ibrahim

答えて

0

これを試してみてください:

string pattern = @"(?<=\d)(?=[a-zA-Z])"; 
    string substitution = @" "; 
    string input = @"""X 300g"", ""X 400 g"", ""X 250 kg"", ""X 25kg"""; 

    Regex regex = new Regex(pattern); 
    string result = regex.Replace(input, substitution);