「10.0.cm」 變爲 「10.0」
和
「10.0.m」 變爲 「10.0」
和
「3」保持爲 「3」
等等
我試過這個:
values[3].replace(/[^0-9.,]+/, '')
但是這仍然留下了「。」數字之後,例如:10.0。
感謝您的幫助......
「10.0.cm」 變爲 「10.0」
和
「10.0.m」 變爲 「10.0」
和
「3」保持爲 「3」
等等
我試過這個:
values[3].replace(/[^0-9.,]+/, '')
但是這仍然留下了「。」數字之後,例如:10.0。
感謝您的幫助......
下面的正則表達式應該解決它
values[3].replace(/\.+[a-z]*$/, '')
謝謝,這讓我留下了我不想要的東西: 「10.0.cm」.replace(/ [0-9] + \。* [0-9] * /,' ') - 「.cm」 如何做到這一點? – treeseal7
var values = ["10.0.cm", "10.0.m", "3"];
var patten = /\d+(\.\d+)?/g;
for (var i = 0; i < values.length; i++) {
console.info(values[i].match(patten));
}
這將返回一個長度爲2的_Array_,其中包含兩個'.'s,如果給出一個_String_就像''foo_1.0.bar。 1.2.xyz'' –
你所描述的問題不是一個簡單的「找到中的數字字符串「
一步完成此操作並不容易,因爲RegExp in JavaScript不支持回溯。然而
.
var str = 'foo_1.0.bar.1.2.xyz';
str = str.replace(/[^\d\.]/g, '').split('.');
str = str[0] ? str[0] + '.' + str.slice(1).join('') : '';
str; // "1.012"
這個工作... value.match(/ \ d +(\。\ d +)?/)[0] – treeseal7