Regex para pelar lat / long desde una cuerda
-
20-08-2019 - |
Pregunta
¿Alguien tiene una expresión regular para quitar lat / long de una cadena? como:
ID: 39.825 -86.88333
Solución
var latlong = 'ID: 39.825 -86.88333';
var point = latlong.match( /-?\d+\.\d+/g );
//result: point = ['39.825', '-86.88333'];
Otros consejos
Para hacer coincidir un valor
-?\d+\.\d+
Para ambos valores:
(-?\d+\.\d+)\ (-?\d+\.\d+)
Y si la cadena siempre tiene esta forma:
"ID: 39.825 -86.88333".match(/^ID:\ (-?\d+\.\d+)\ (-?\d+\.\d+)$/)
function parseLatLong(str) {
var exp = /ID:\s([-+]?\d+\.\d+)\s+([-+]?\d+\.\d+)/;
return { lat: str.replace(exp, "$1"), long: str.replace(exp, "$2") };
}
function doSomething() {
var res = parseLatLong("ID: 39.825 -86.88333");
alert('Latitude is ' + res.lat + ", Longitude is " + res.long);
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow