Как отформатировать регулярное выражение в JavaScript - PullRequest
2 голосов
/ 06 ноября 2019

у меня есть эта строка: 4.5 von 5 Sternen.

Мой желаемый результат: 4.5 / 5

Что я пробовал entry.rating.replace(/[a-z A-Z]/g , '/'); Что привело к 4.5/5/ Мне не нужна эта дополнительная косая чертатолько один в середине, разделяющий два числа. Я хотел бы помочь сейчас. Заранее спасибо.

1 Ответ

2 голосов
/ 06 ноября 2019

Вы можете использовать match + join здесь:

var s = '4.5 von 5 Sternen.';
var arr = s.match(/\b\d+(?:\.\d+)?/g);
var out = null;

if (arr != null)
  out = arr.join('/');

console.log(out);
//=> 4.5/5
  • Мы используем регулярное выражение \b\d+(?:\.\d+)? в .match, чтобы сопоставить число, которое может быть целым числом или числом с плавающей запятой.
  • Как только мыу массива, сгенерированного из match, мы используем join('/') для получения желаемого результата.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...