2016-10-04 22 views
-1

私は完全に正規表現に新しいです。

選択されていない値がたくさんあるドロップダウンリストから値を引き出しています。以下は生データのサンプルです。

NoneNoneNoneBP #15 Plain Felt 36" | $10.00NoneNoneNoneNoneNoneNone 

"none"の値はすべて空です。

$を言うことです私は

「BPの#15平野は36フェルト」唯一の製品の名前すなわちを残して、すべての不要なデータを取り除く必要がある

、値が全て「なし」と"|"すべてが行かなければならない。

私の正規表現では、商品名の数字とドルの値を取り除いていますが、私は大丈夫です。すなわちおよびである。

$値に関連する数字を製品の説明に関連する数字に影響を与えずに分離する方法がわかりません。何かアドバイス ? tks!

これは私がこれまで持っているものである:(あなたが周囲の空白を気んが?|を)

var materials_replace = materials.replace(/None|\||[\$(\d)(\.)]/g,''); 
+0

あなたが近くにいるように見えます...個々の文字に一致させたくないあなたはシーケンス[$ ##。##]にマッチしたいと思っています。ドル記号の後ろに1桁以上の数字が続いて、その後に小数点以下に1つ以上の数字が続く可能性があります。あなたは "None"(つまり、文字列N-o-n-e).... –

答えて

1

はあなたの最初の2つの部分が右に見える最後の部分が見える

None 
\| 

\$\d+(?:\.\d+)? 

のようなの\ $ - ドル記号

\ d + - 1つ以上の数字が続く

(?:。\ d +)? (?:..)部分は、単に '捕捉'されていないグループを作成します(但し、ここでの取り込みは、正規表現を使って置換えするので重要ではありません)。グループ自体は任意に一致していると言っているが、我々は(最後の?)グループに\.\d+一部を必要とする

0

あなたがここにホワイトスペースまたはブランクで、すべてのNoneを交換したい場合は

var valueeee = 'NoneNoneNoneBP #15 Plain Felt 36" | $10.00NoneNoneNoneNoneNoneNone' 
 

 
var strs = valueeee.replace(/\None/g,''); 
 
var str = valueeee.replace(/\None|\|/g,''); 
 
console.log(str); 
 
console.log(strs);

これを試してみてください
関連する問題