0

例如,我有字符串 x61y78。我怎样才能把它分成字符串 var x=61; 和变量 y=78; 使用 javascript?

我尝试使用 for 循环和拆分,但我得到了奇怪的结果,虽然应该有一个更简单的方法。

4

5 回答 5

2

您可以简单地使用正则表达式:

"x61y78".match(/x(\d+)y(\d+)/)

给你一个数组,其中第二个和第三个元素是你想要的:

["x61y78", "61", "78"]
于 2013-06-10T17:19:03.637 回答
0

还有更多没有分配给 x 和 y 的版本:

  "x61y78".match(/([0-9]+)/g);

结果数组:

['61','78']
于 2013-06-10T18:12:49.730 回答
0

也许这个,即使看起来很简陋,也很好用:

var a='x32,13y89.3';
i = a.split('y');
document.write('x:'+i[0].replace('x','')+' <br> y:'+i[1]);

将打印:x:32,13 y:89.3

有用的不同符号

于 2013-06-10T17:31:10.230 回答
0

您可以尝试以下方法:

<script>
function myFunction()
{
var str="x61y78"; 
var n="var x= "+str.slice(1,str.search("y"));
var n=n+" ; var y= "+str.slice(str.search("y")+1);
alert(n);
}
</script>

输出:var x= 61 ; var y= 78

于 2013-06-10T17:24:47.600 回答
0

假设字符串将是完美的,如问题所示

function makeVars(str){
    var arr = str.match(/[A-Za-z]|[0-9]+/g);
    // validate the array if needed
    for(var i=0; i<arr.length; i+=2){
        this[arr[i]] = arr[i+1];
    }
}

makeVars("x61y78");
console.log(x);
console.log(y);

makeVars将在调用它的上下文中添加属性。

var object = {};
makeVars.call(object, "a100b200");
console.log(object.a);
console.log(object.b);
于 2013-06-10T17:26:14.763 回答