鍍金池/ 問(wèn)答/HTML/ js匹配小數(shù)點(diǎn)前面的所有數(shù)字

js匹配小數(shù)點(diǎn)前面的所有數(shù)字

有一組數(shù)據(jù):

1.第1周星期三
2.第2周星期三
3.第52周星期三
....
101.第77周星期三

怎么用 js 匹配得到小數(shù)點(diǎn)前的完整數(shù)字,而且不要把數(shù)據(jù)轉(zhuǎn)為 string 分割獲取,返回的一定是數(shù)字。
主要是用正則

回答
編輯回答
失心人

1.第1周星期三
這條數(shù)據(jù)本來(lái)就是一條字符串吧!

另外,假如,你這些數(shù)組值前面的1 2 3一定是按順序升序排列的話,你可以直接使用下標(biāo)+1就可以直接得到你想要的數(shù)字了

for (let i=0;i<arr.length;i++){
    console.log(i+1)
}

如果不是,那還是分割字符串吧。

2017年3月29日 20:57
編輯回答
司令

clipboard.png

2017年4月30日 09:18
編輯回答
懷中人

大概就是這么個(gè)意思,先獲取小數(shù)點(diǎn)的位置,再使用substring函數(shù)截取字符串,然后強(qiáng)制轉(zhuǎn)換為Number類(lèi)型

for (let i=0;i<arr.length;i++){
   Number(arr[i].substring(0,arr[i].indexOf(".")));
}
2017年6月5日 05:40
編輯回答
孤影

如果是數(shù)組,直接循環(huán),然后 parseInt() 就可以了

2018年4月29日 15:46
編輯回答
凝雅

是這個(gè)意思嗎

    data = ["1.第1周星期三","2.第2周星期三","3.第52周星期三"] ;
    for(var i=0;i<data.length;i++){
        console.log(parseInt(data[i]));
        console.log(typeof parseInt(data[i]));
    }
2018年5月17日 08:22
編輯回答
悶油瓶

來(lái)一個(gè)正則表示版本的

var data = ["1.第1周星期三","2.第2周星期三","3.第52周星期三"] ;
for(var i = 0, len = data.length; i < data.length; i++){
    /^(\d+)\.[\s\S]*$/.exec(data[i])
    console.log(parseInt(RegExp.$1))
}
2018年1月9日 11:13
編輯回答
赱丅呿

用個(gè)正則吧

/^\d+/.exec('1.第1周星期三')

或者說(shuō)

+'1.第1周星期三'.match(/^\d+/)[0]

這樣也可以得到

2017年5月17日 05:28