javascript:convert a=';x1y2';分为x=1和y=2?

javascript:convert a=';x1y2';分为x=1和y=2?,javascript,string,divide,Javascript,String,Divide,例如,我有字符串x61y78。如何将其划分为字符串var x=61;变量y=78;使用javascript 我尝试使用for循环和拆分,但结果很奇怪,虽然应该有更简单的方法。您只需使用正则表达式: "x61y78".match(/x(\d+)y(\d+)/) 为您提供一个数组,其中第二个和第三个元素是您想要的: ["x61y78", "61", "78"] 您可以尝试以下方法: <script> function myFunction() { var str="x61y78";

例如,我有字符串x61y78。如何将其划分为字符串var x=61;变量y=78;使用javascript


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

您只需使用正则表达式:

"x61y78".match(/x(\d+)y(\d+)/)
为您提供一个数组,其中第二个和第三个元素是您想要的:

["x61y78", "61", "78"]

您可以尝试以下方法:

<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>

函数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);
警报(n);
}

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

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

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);

也许这一点,即使看起来很简单,也很有效:

var a='x32,13y89.3';
i = a.split('y');
document.write('x:'+i[0].replace('x','')+' <br> y:'+i[1]);
var a='x32,13y89.3';
i=a.split('y');
document.write('x:'+i[0])。替换('x','')+'
y:'+i[1]);
将打印: x:32,13 y:89.3


适用于不同的符号

有更多的版本不指定x和y:

  "x61y78".match(/([0-9]+)/g);
结果数组:

['61','78']

像这样的<代码>y=a.split('y')[1];x=a.split('y')[0]。split('x')[1]
['61','78']