2016-06-14 12 views
0

私は算術演算子を含む文字列の配列を持っています。配列内の算術演算子を新しい算術演算子で置き換えたいと思います。例えばJavascriptで算術演算子を置き換える正規表現

var equation = '5.0 + 9.34 - 6.0 * 2.1 * 3.1/2.0'; 

var newEquation = equation.replace(/+-*//, '+'); 

しかし、それは希望の結果に変更されません。お知らせ下さい。あなたの貢献は非常に高く評価されています。

+0

。それは単なる文字列リテラルです。 – Li357

答えて

3

使用character class([])

var equation = '5.0 + 9.34 - 6.0 * 2.1 * 3.1/2.0'; 
 

 
var newEquation = equation.replace(/[+*\/-]/g, '+'); 
 
// or : equation.replace(/[+\-*/]/g, '+'); 
 

 
console.log(newEquation);


UPDATE:負の数を回避するためには、 negative look-ahead assertioncapturing group使用しています。配列ではありません

var equation = '-5.0 + 9.34 - 6.0 * -2.1 * 3.1/-2.0'; 
 

 
var newEquation = equation.replace(/(?!^-)[+*\/-](\s?-)?/g, '+$1'); 
 

 
console.log(newEquation);

Regex explanation here

Regular expression visualization

+0

寄付いただきありがとうございます@Pranav負の数から区別する方法はありますか?たとえば: '-5.0 + 9.34 - -6.0' – Clay

+0

@Clay:updated –

+0

ありがとうございます@Pranav。とても有難い! – Clay

関連する問題