2015-07-12 66 views
1

例如:javascript字符串:刪除數字和第一個「。」。

「10.0.cm」 變爲 「10.0」

「10.0.m」 變爲 「10.0」

「3」保持爲 「3」

等等

我試過這個:

values[3].replace(/[^0-9.,]+/, '') 

但是這仍然留下了「。」數字之後,例如:10.0。

感謝您的幫助......

+0

這個工作... value.match(/ \ d +(\。\ d +)?/)[0] – treeseal7

回答

2

下面的正則表達式應該解決它

values[3].replace(/\.+[a-z]*$/, '') 
+1

謝謝,這讓我留下了我不想要的東西: 「10.0.cm」.replace(/ [0-9] + \。* [0-9] * /,' ') - 「.cm」 如何做到這一點? – treeseal7

2

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)); 
 
}

+0

這將返回一個長度爲2的_Array_,其中包含兩個'.'s,如果給出一個_String_就像''foo_1.0.bar。 1.2.xyz'' –

1

你所描述的問題不是一個簡單的「找到中的數字字符串

一步完成此操作並不容易,因爲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" 
相關問題