Мне нужно сопоставить числа, за которыми следует единица, и заменить их цифрами + подчеркивание + единица измерения с помощью Javascript.
Я вышел с этим кодом, который не дает результата, которого я стремлюсь достичь.
var x = myFunction("I have 3 billion dollars");
function myFunction(text) {
return text.replace(/(\d+\.?(?:\d{1,2})?) (\bmillion\b|\bbillion\b|\bbillion\b|\bmillions\b|\bbillions\b|\btrillion\b|\btrillions\b|\bmeter\b|\bmeters\b|\bmile\b|\bmiles\b|\%)/gi, function (match) {
return "<span class='highlighted'>" + match[1] + "_" + match[2] + "</span>";
});
}
Приведенный выше код должен возвращать "У меня есть 3_ миллиарда долларов" (но он возвращает _b, если речь идет о замене). Поскольку я новичок в Java, любые предложения будут оценены.
Редактировать
Уже много полезных советов! Вот еще несколько примеров импровизации:
the street is 4.5 miles long
the budget was 430.000 dollars