的字符串:$ 22.4969694
正則表達式表達:([.])+
獲取貨幣值的小數部分
我試過.test()
,但我並不想取得布林迴應,我試圖讓長度數.
字符和切片。
因此,如果在字符串中檢測到.
,它會將$ 22.
切斷字符串並將變量值設置爲4969694
。
的字符串:$ 22.4969694
正則表達式表達:([.])+
獲取貨幣值的小數部分
我試過.test()
,但我並不想取得布林迴應,我試圖讓長度數.
字符和切片。
因此,如果在字符串中檢測到.
,它會將$ 22.
切斷字符串並將變量值設置爲4969694
。
沒有一個正則表達式,這是相當直截了當
var str1 = '$ 22.4969694';
var str2 = '$ 22694';
console.log(str1.split('.').pop()) // 4969694
console.log(str2.split('.').pop()); // nothing happens
我不是100%確定我會按照你希望你的最終結果看起來像,但這是我想出來的,可能適合你。
根據你想要返回這個工作的值。
let vals = ['$ 22.4969694', '$ 22', '$ 22567.00']
vals.forEach(val => {
let v = val.replace(/^.*\./, '')
console.log(v)
})
或:val.replace(/^.*\./,'')如果點存在,這將從字符串的前部移除到點。如果沒有,那麼沒有任何反應。 –
您可以使用match
:
const str = '$ 22.4969694';
const regex = /(\$)\s+(\d+)\.(\d+)/
match
將返回一個數組。第一個元素是原始字符串,其餘元素是匹配的。在這種情況下,貨幣符號,然後是美元,然後是美分。
str.match(regex) // [ "$ 22.4969694", "$", "22", "4969694" ]
您可以訪問這些使用普通陣列方法:
const m = str.match(regex);
console.log(m[3]); // 4969694
你必須躲避點,\。就其本身而言,它是一個匹配任何字符的通配符。 –
使用正則表達式:([\。])+ –