簡體   English   中英

如何使用正則表達式從字符串中獲取“m”米和“km”?

[英]How to get "m" meters and "km" from string using regex?

我試圖從下面的字符串中獲取整數並再次將其轉換替換它。 需要正則表達式模式從字符串中獲取 mtr、km 數組。 一點幫助將不勝感激。

let stringText = "Please continue for 290 m. And then take left and continue for 1.2 km.";
console.log(stringText);
let mtr_pattern = "";
let kn_pattern = "";
let numArr = stringText.match(/\d+\.\d+|\d+\b|\d+(?=\w)/g) || []);
numArr = numArr.filter(n => n != '.');
console.log("numArry", numArr);

輸出應該是:請繼續行駛 0.18 英里。 然后左轉並繼續行駛 0.74 英里

你可以取數值和單位。 然后將值轉換為英里。

 let km2miles = km => km * 0.621371, string = "Please continue for 290 m. And then take left and continue for 1.2 km.", result = string.replace( /(\d+\.?\d*) (k?m)/g, (_, a, b) => km2miles(b === 'km' ? a : a / 1000).toFixed(2) + ' miles' ); console.log(string); console.log(result);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM