我在Javascript中有以下字符串:(17.591257793993833, 78.88544082641602)
如何对上面的字符串使用split(),以便我可以单独获取数字。
这就是我尝试过的(我知道错了)
var location= "(17.591257793993833, 78.88544082641602)";
var sep= location.split("("" "," "")");
document.getElementById("TextBox1").value= sep[1];
document.getElementById("Textbox2").value=sep[2];
建议
答案 0 :(得分:8)
使用正则表达式,只需按照以下方法操作:
// returns and array with two elements: [17.591257793993833, 78.88544082641602]
"(17.591257793993833, 78.88544082641602)".match(/(\d+\.\d+)/g)
答案 1 :(得分:1)
您可以使用正则表达式。那会对你有所帮助。与match函数一起使用。
可能的Regexp可能是:
/\d+.\d+/g
有关更多信息,您可以从wiki开始:http://en.wikipedia.org/wiki/Regular_expression
答案 2 :(得分:0)
使用正则表达式[0-9]+\.[0-9]+
。您可以尝试使用正则表达式here。
在javascript中你可以做到
var str = "(17.591257793993833, 78.88544082641602)";
str.match(/(\d+\.\d+)/g);
检查一下。
答案 3 :(得分:0)
如果您希望将值作为数字,即typeof x == "number"
,则必须使用正则表达式来获取数字,然后将这些String
转换为Number
s,即
var numsStrings = location.match(/(\d+.\d+)/g),
numbers = [],
i, len = numsStrings.length;
for (i = 0; i < len; i++) {
numbers.push(+numsStrings[i]);
}