2016-07-23 3 views
0

У меня есть строка, которая была возвращена из API, и я хочу добавить символы градуса из температур, которые включены («Завтра будет максимум 89F» → «Завтра будет максимум 89 ° F») , Как выглядит Regex для моей переменной с именем forecastString?Как добавить символы степени в градусы в строку Javascript?

ответ

1

Это заменить будет работать:

forecastString = forecastString.replace(/[0-9]{1,3}F/g, function addDegreeSymbol(x){return x.replace("F", "°F");}); 
forecastString = forecastString.replace(/[0-9]{1,3}C/g, function addDegreeSymbol(x){return x.replace("C", "°C");}); 

регулярное выражение находит любые числа 1-3 цифр и сразу же с помощью F/C, и заменяет F/C с ° F/° C

1

Почему не

forecastString.replace(/\b(\d{1,3})(?=[FC]\b)/, "$1°"); 

? Вы уверены в нечувствительности к регистру?

+1

Собирался опубликовать то же самое, но я бы добавил '\ b' перед цифрами, иначе верхний предел 3 бесполезен. Я думаю, что чувствительность к регистру имеет смысл в этом случае, так как символ единицы является прописным. С другой стороны, за номерами можно добавить '\ s *', чтобы разрешить пробелы. –

+0

Ответ на вопрос «почему бы и нет?» потому что я noob :) – xd1936

+0

@ xd1936 Я обновил регулярное выражение. Я предлагаю вам, если хотите, символы Unicode '℃' и' ℉'. – horcrux

Смежные вопросы