2015-05-12 62 views
-1

有一種場景,需要僅修剪字符串中的字母並顯示數字和特殊字符。如何僅使用javascript或jquery修剪字母

var abc = "Hai 40.00"; // Output : 40.00 
var xyz = "Hai 40.00 - 50.00 Was" // Output : 40.00 - 50.00 

任何通用的方式來處理這個。

+0

您能否添加一個您期望從這些字符串中看到的輸出示例,以及您自己嘗試解決此問題的嘗試。 –

回答

2

試試這個:

var xyz = "Hai 40.00 - 50.00 Was" 
xyz = xyz.replace(/[a-z]*/gi, '').trim(); 
alert(xyz); 
  1. [a-z]:匹配所有的字母
  2. *:匹配前一組零次或多次
  3. g:全局標誌,不停止的第一場比賽
  4. i:案例無聲匹配
  5. trim:刪除前後空格
+0

不錯,但你忘了添加特殊字符 – wallop

+0

'只需修整字符串中的字母並顯示數字和特殊字符' – Tushar

+0

啊對我的壞! – wallop

0

我不完全確定這是基於您的問題的準確答案。但我相信你試圖從每個var中刪除所有的字符,只留下整數,對吧?

如果是這種情況,您可以使用.replace()方法並傳遞一個匹配所有非數字的正則表達式值\D

下面是一個例子:

removeInt = abc.replace(/\D/g,''); 

祝你好運!

+0

然後他不會得到40.00 - 50.00意義甚至 - 和。將被刪除 – wallop

1
var xyz = "Hai 40.00 - 50.00 Was"; 
xyz = xyz 
     .replace(/^\w+/g, '') // remove leading alpha 
     .replace(/\w+$/g, '') // remove ending alpha 
     .trim()    // regular trim 
// output = "40.00 - 50.00" 

你也可以合併兩個replace

var xyz = "Hai 40.00 - 50.00 Was"; 
xyz.replace(/^\w+(.*?)\w+$/, '$1') 
    .trim() 
0

請試試這個。結果將是帶小數的數字。

var abc = "Hai 40.00-"; 
var result = abc.replace(/[A-Za-z$]/g, ""); 
alert(result);