1

私は次の文字列を持っています: (17.591257793993833, 78.88544082641602)Javascriptで

上記の文字列に split() を使用して、数値を個別に取得するにはどうすればよいですか。

これは私が試したことです(私はそれが間違っていることを知っています)

var location= "(17.591257793993833, 78.88544082641602)";
var sep= location.split("("" "," "")");    
document.getElementById("TextBox1").value= sep[1];
document.getElementById("Textbox2").value=sep[2];

提案してください

4

4 に答える 4

8

正規表現を使用します。次のような単純なものが機能します。

// returns and array with two elements: [17.591257793993833, 78.88544082641602]
"(17.591257793993833, 78.88544082641602)".match(/(\d+\.\d+)/g)
于 2012-09-03T12:25:16.570 に答える
1

正規表現を使用できます。それはあなたを大いに助けるでしょう。マッチ機能と合わせて。

考えられる正規表現は次のとおりです。

/\d+.\d+/g

詳細については、wiki から始めることができます: http://en.wikipedia.org/wiki/Regular_expression

于 2012-09-03T12:23:35.430 に答える
0

正規表現を使用し[0-9]+\.[0-9]+ます。ここで正規表現を試すことができます。

JavaScriptでできること

var str = "(17.591257793993833, 78.88544082641602)";
str.match(/(\d+\.\d+)/g);

チェックしてください。

于 2012-09-03T12:25:44.480 に答える
0

数値として値が必要な場合、つまり、typeof x == "number"正規表現を使用して数値を取得し、それらStringの を に変換する必要があります。Number

var numsStrings = location.match(/(\d+.\d+)/g),
    numbers = [],
    i, len = numsStrings.length;

for (i = 0; i < len; i++) {
    numbers.push(+numsStrings[i]);
}
于 2012-09-03T12:30:22.783 に答える