Обработка строки
parts = source.split(':')
normilized_parts = parts.map(function(num) {
var value = +num;
if (isNaN(value)) {return source;}
return value;
})
return normilized_parts.join(':');
}
var n_num = normilize(num);
данный код приводит текст вид '01:0001:00004:0003' к '1:1:4:3' как обработать ситуацию когда приходят лишние символы, Вида '01:0001:00004:0003/00'?
Ответы (1 шт):
Автор решения: RTK
→ Ссылка
Можно просто делать parseInt, он отбросит все "лишние" символы
const str = '01:0001:00004:0003/00';
const parts = str.split(':');
const parsedParts = parts.map((num) => {
const value = parseInt(num, 10);
return isNaN(value) ? undefined : value;
});
const result = parsedParts.join(':');
С таким способом важно чтоб символ не "ломал" значение, ибо "0/3" спарсится в 0, а не в 3. Если набор символов и возможные позиции известны, то их можно просто убирать через slice или replace.