التعابير المنطقية لتجريد خطوط الطول / العرض من سلسلة

StackOverflow https://stackoverflow.com/questions/493090

  •  20-08-2019
  •  | 
  •  

سؤال

وأي شخص لديه باستخدام التعابير المنطقية لتجريد خطوط الطول / العرض من سلسلة؟ مثل:

وID: 39،825 -86،88333

هل كانت مفيدة؟

المحلول

var latlong = 'ID: 39.825 -86.88333';

var point = latlong.match( /-?\d+\.\d+/g );

//result: point = ['39.825', '-86.88333'];

نصائح أخرى

لتتناسب مع قيمة واحدة

-?\d+\.\d+

لكلا القيم:

(-?\d+\.\d+)\ (-?\d+\.\d+)

وإذا كانت السلسلة دائما هذا النموذج:

"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);
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top