在javascript中分割字符串不工作

Split a string in javascript not working

本文关键字:工作 字符串 分割 javascript      更新时间:2023-09-26

我有一个函数,我动态地得到一些值,我把它们发送给其他函数。

function sample(){
//some code here
var latlong1=//some value;
var latlong2=//some value;
fnSplitString(latlong1,latlong2);
}

我将这些值发送给一个函数,比如

function fnSplitString(l1,l2)
{
alert("Latlong1::::"+l1);
alert("LatLong2::::"+l2);
var splitStringLatLong=l1.split(",");
alert("split1"+splitStringLatLong[0]);
alert("split2"+splitStringLatLong[1]);
}

这里我的'l1'和'l2'正确地报警值。

Latlong1::::lat=78.23456,long=26.56789
Latlong2::::lat=74.57585,long=22.67890

我只想从这两个字符串中提取数字值。所以我先试着把它分开,直到逗号。但这种分裂根本行不通。我没有收到任何警告信息。错在哪里?我如何从字符串中提取数字?

在fnSplitString定义的第一行末尾有一个额外的分号。

试着删除它,看看它是否有效。

function fnSplitString(l1,l2) 
{
   alert("Latlong1::::"+l1);
   alert("LatLong2::::"+l2);
   var splitStringLatLong=l1.split(",");
   alert("split1"+splitStringLatLong[0]);
   alert("split2"+splitStringLatLong[1]);
}

这不是最好的解决方案,但这是有效的:

var temp  = 'lat=78.23456,long=26.56789';
var lat =   temp.substring(4, temp.indexOf(",long"));
var long =  temp.substring(temp.indexOf("g")+2, temp.length);
alert(lat);
alert(long);

我认为regex是最简单的解决方案。

我不是很擅长这个,但是下面是:

var str = "lat=78.23456,long=26.56789";
var s = str.match(/(?:'d*'.)?'d+/g);
alert("string1: "+s[0]+", string2: "+s[1]);

结果是一个字符串数组,但您可以将其转换为您想要的任何形式。