-3

たとえば、JavaScriptでstr = 'translate(-100.93,50.88)'2つのfloatを取得するにはどうすればよいですか?私はしばらくここで立ち往生していました。私は試した-100.9350.88

str.match(/[\-|\+|\d+|\.]/g)

それは私に単一の文字を与えました。

ありがとう

4

4 に答える 4

0
var str = 'translate(-100.93,50.88)';
var result = str.split(/,|\(|\)/);

alert(parseFloat(result[1])); // -100.93
alert(parseFloat(result[2])); // 50.88
于 2012-12-07T05:16:05.430 に答える
0
str = str.replace(/[a-zA-Z()]+/g, '').split(',');

var float1 = parseFloat(str[0]),
    float2 = parseFloat(str[1]);

フィドル

于 2012-12-07T05:17:16.237 に答える
0

次のような正規表現を使用します。

var testString = 'translate(-100.93,50.88)'
var matches = testString.match(/translate\(([-.\d]+),([-.\d]+)/);

//(matches[0] is the first part of the string)
var num1 = matches[1]*1;
var num2 = matches[2]*1;
于 2012-12-07T05:19:49.977 に答える
0
var str = 'translate(-100.93,50.88)'        
var arr = str.match(/\(([^\(\,]+)\,([^\)]+)\)/);
var firstVal = arr[1];
var secVal = arr[2];
于 2012-12-07T05:21:27.683 に答える