2016-10-17 9 views
0

文字列内の要素をregExpで削除/置換する方法を知っています。しかし、regExpを使って2つの特定の文字の間に文字を追加することは可能ですか?この行は、2つの特定の文字の間にスラッシュを追加することを除いて、私のニーズのためだけで正常に動作しnew RegExp("^" + o.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&") + "$", "i");2つの特定の文字の間のスラッシュをregExpで追加する

:いつでも「K私はすでに、ユーザーの入力の値からオブジェクトのプロパティを一致させるために、この正規表現を使用してい

キロ/ hの 『か『KMH』:M 'が続いて『』

var obj = { 
    'km/h': '1.079e+9', 
    'km': 0, 
    'm/s': '2,998e+8', 
    'm': 0 
}; 

もしそうなら、私の入力値である、私は、このオブジェクトのプロパティと一致するように、それらの間にスラッシュを追加する必要があります』、両方の文字列が等しくmのatch 'km/h'です。 regExpを使ってそれを行うことは可能ですか?私がこだわっているのはここ

は次のとおりです。

var str = "kmh"; 
var test = str.replace(/m\s?h/i, 'm/h'); 
console.log(test); 

はまだ探している:https://jsfiddle.net/Hal_9100/p0Lwg85w/1/

おかげであなたは自分の質問に答える

答えて

0

を助けるために、これは移動するための方法であると思われますより洗練されたアプローチ、または単に私の既存のregExpでそれを実装する方法:

new RegExp("^" + o.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&") + "$", "i"); 

どんな提案も大変ありがとうございます

関連する問題