Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Javascript中从字符串中提取部分_Javascript_String - Fatal编程技术网

在Javascript中从字符串中提取部分

在Javascript中从字符串中提取部分,javascript,string,Javascript,String,我有这样一个字符串LatLng(41.3371,19.81717)存储在变量a 但是我只需要数字41.3371来做进一步的计算。 你知道如何提取数字吗?使用正则表达式你可以做/^LatLng\(\d+\.\d+),(\d+\.\d+)$/ 使用javascript: console.log('LatLng(41.3371, 19.81717)'.match(/^LatLng\((\d+\.\d+), (\d+\.\d+)\)$/)[1]);​ 使用正则表达式,如 <div id="res

我有这样一个字符串
LatLng(41.3371,19.81717)
存储在变量
a
但是我只需要数字
41.3371
来做进一步的计算。
你知道如何提取数字吗?

使用正则表达式你可以做
/^LatLng\(\d+\.\d+),(\d+\.\d+)$/

使用javascript:

console.log('LatLng(41.3371, 19.81717)'.match(/^LatLng\((\d+\.\d+), (\d+\.\d+)\)$/)[1]);​

使用正则表达式,如

<div id="res"></div>
<script type="text/javascript">
    var res = document.getElementById('res'),
        re = /\((\d+\.\d+),\s*(\d+\.\d+)\)/,
        str = 'LatLng(41.3371, 19.81717)',
        m = str.match(re);
    res.innerHTML = 'x = ' + m[1] + ' and y = ' + m[2];
</script>

var res=document.getElementById('res'),
re=/\(\d+\.\d+)\s*(\d+\.\d+)/,
str='LatLng(41.3371,19.81717)',
m=str.match(re);
res.innerHTML='x='+m[1]+'和y='+m[2];


为什么它首先是一个字符串?首先,尝试阅读任何Java入门书籍。@Alnitak Why-这样他就可以成为Java程序员,赚些钱,买一本JavaScript书?;)JavaScript文档是您的朋友。有很多方法可以帮助你做到这一点。我正在使用上面的代码,但是我没有使用str='LatLng(41.3371,19.81717'),而是使用str=a,其中“a”是包含LatLng(41.3371,19.81717)值的变量。“a”在脚本内的函数中被赋值为LatLng(41.3371,19.81717)。那么您的
a
变量和
str
变量不是字符串,而是LatLng的一个实例?如果是,哪个值提供了.toString()?是否有方法或属性可以直接从对象获取纬度和经度?谢谢Evgeiny。最后,我使用了另一个地理定位函数来只提取坐标值。