我只想如果某人键入10.01.1,那么它将是10.011,而如果某人键入类似10.00 ......... 1,它将变成10.001
我已经尝试过此.replace(/(\d*)(\.){1,1}(\d*)(?=(\.)+)/g,'$1')
。但这对我不起作用
答案 0 :(得分:1)
您可以对点进行计数,然后用一个点替换冷杉,其余的则消除该点。
function singleDot(s) {
return s.replace(/\./g, (c => _ => c++ ? '' : '.')(0));
}
console.log(['0.0', '0....0', '0.0...1'].map(singleDot));
答案 1 :(得分:0)
您可以使用split和点作为分隔符:
const strings = [
"10.01.1",
"10.00............1",
"100",
""
];
strings.forEach((s) => {
const [head, ...rest] = s.split('.');
console.log(rest.length ? head + '.' + rest.join('') : head);
});