JavaScript,字符串拆分,数字(可以是浮点数)和字符串

时间:2020-05-16 18:29:36

标签: javascript

例如,在以下示例中,如何为fs = 60 highcut = 2 lowcut= .5 def butter_bandpass(lowcut, highcut, fs, order=5): nyq = 0.5 * fs low = lowcut / nyq high = highcut / nyq b, a = butter(order, [low, high], btype='band') return b, a def butter_bandpass_filter(data, lowcut, highcut, fs, order=5): b, a = butter_bandpass(lowcut, highcut, fs, order=order) y = lfilter(b, a, data) return y test = butter_bandpass_filter(heartRateData, lowcut, highcut, fs, order=5) 获得“ 1.2”和“ kg”?目前,我得到“”,“ 1。”和“ kg”。

x

7 个答案:

答案 0 :(得分:2)

这应该起作用:

function split()
{
    var data = "1.2kg";
    var x = data.match(/[\d\.]+|\D+/g);
    console.log(x);
}
split();

答案 1 :(得分:1)

类似的东西:

let [value,unit] = data.match(/^[0-9.]*|[a-z]*$/g)

显然,这不是企业级解决方案。如果输入中出现多个点,非字母字符,大写字母,则结果可能会有所不同。

['1.2kg',
 '1.2 kg',
 '10.0.0.2 IP',
 '1 square méter' ].map(
    data => data.match(/^[0-9.]*|[a-z]*$/g)
  )

答案 2 :(得分:1)

您可以使用parseFloat来达到此目的,如果需要浮点值,则不需要正则表达式。

var data = "1.2kg"; 
console.log(parseFloat(data)) // 1.2

答案 3 :(得分:0)

您需要使用匹配而不是拆分。 :-)

var data = "1.2kg";
var m = data.match(/[.0-9]+/);
console.log(m[0])

答案 4 :(得分:0)

function split()
{
    var data = "hello world";
    var x = data.split(/\s/);
    document.getElementById('test').innerHTML = x
}
split()
<span id="test"></span>

如果您查看此简化的帖子,您会看到它删除了与之匹配的项目。因此,我认为拆分不是您想要的。格式有什么变化?您可以使用简单的正则表达式删除数字吗?

function doWork() { 
            var str = "1.2kg"; 
            var matches = str.match(/(\d+)\.{0,1}(\d)/); 
              
            if (matches) { 
                document.getElementById('demo').innerHTML 
                        = matches[0]; 
            } 
        } 
        
        doWork()
<p>String is "1.2kg"</p> 
<span id="demo"></span>

答案 5 :(得分:0)

我不是这方面的专家,但是我可以使用它:

var x = data.split(/([0-9]*[.]*[0-9])/);

答案 6 :(得分:0)

替代:parseFloatslice(使用findIndex

const parseAndSplitQuantity = s => `${parseFloat(s)} ${
  s.slice( [...s].findIndex( v => /[^0-9|.]/.test(v) ) ) }`;

["1.2kg", "23.45Mb", "100Pound", "20.34Dollar", "23187.22Miles"]
  .forEach( str => console.log(`${str} => ` + parseAndSplitQuantity(str)) );
.as-console-wrapper { top: 0; max-height: 100% !important; }

相关问题