Числовые символы:
0 1 2 3 4 5 6 7 8 9
dot
comma
minus at the start of the string
Мне нужно удалить все нечисловые символы из строки. Вот примеры
123 -> 123
123.45 -> 123.45
123,45 -> 123,45
-123 -> -123
-123.45 -> -123.45
-123,45 -> -123,45
--123.45 -> -123.45
--123,45 -> -123,45
a -> empty string
-a -> -
a123 -> 123
-a123 -> -123
a123.45 -> 123.45
-a123.45 -> -123.45
a123.b45 -> 123.45
-a123.b45 -> -123.45
123.-34 -> 123.34
-123.-34 -> -123.34
--123.-34 -> -123.34
Вот то, что у меня пока есть
"123.45abc".replace(/[^0-9.,]/g,""); -> 123.45
, но это не удается
"-123.45abc".replace(/[^0-9.,]/g,""); -> 123.45
Это работает
"-123.45abc".replace(/-[^0-9.,]/g,""); -> -123.45
, но теперь это не удается
"-123.45-abc".replace(/-[^0-9.,]/g,""); -> -123.45bc
Этот ответ почти решает мою проблему, ноЗнаки минус внутри строки не удаляются.
Я делаю это в JavaScript с помощью регулярных выражений. Regex не является обязательным.
Обновление Вход будет содержать не более одной запятой или одной точки. 12.34.56.78
никогда не будет введено