0

古い cvs データベースを再編成して、正しい特殊フィールド名で e コマース ソフトウェアにインポートできるようにする必要があります。

これは、私が照合していたコードです。[id,カテゴリ,メーカー,モデル]

"1","3","Samsung","Galaxy S III"
"2","3","HTC","One X"

私の正規表現

".*?".*?".*?".*?(".*?")

基本的に、製造元のみを次のようなもう少し複雑なオブジェクト リテラルに置き換える必要があります。

{manufacturers: 'Samsung'}

しかし、3番目の一致を選択的に置き換える方法がわかりません。文字列を分割して必要なデータを抽出できることはわかっていますが、出力変数が次のようになるように一致を置き換える方法がわかりません。

"1","3",{manufacturers: 'Samsung'},"Galaxy S III"
"2","3",{manufacturers: 'HTC'},"One X"

私を助けてくれてありがとう!

4

1 に答える 1

2

これを一致させます:

"(.*?)","(.*?)","(.*?)","(.*?)"

これに置き換えます:

"$1","$2",{manufacturers: '$3'},"$4"

例:

var s='"1","3","Samsung","Galaxy S III"';
var p='"(.*?)","(.*?)","(.*?)","(.*?)"';
var r='"$1","$2",{manufacturers: \'$3\'},"$4"';
console.log(s.replace(new RegExp(p,"g"),r));

出力:

"1","3",{manufacturers: 'Samsung'},"Galaxy S III"
于 2012-04-18T11:59:55.433 に答える