有一个场景需要仅修剪字符串中的字母并显示数字和特殊字符。
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);
[a-z]
:匹配所有字母*
:匹配前面的零次或多次g
:全球旗帜,第一场比赛后不要停止i
:案例说明性匹配trim
:删除前导和尾随空格答案 1 :(得分: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()
答案 2 :(得分:0)
根据您的问题,我不完全确定这是一个准确的答案。但是我相信你试图从每个var中删除所有字符而只留下整数,对吗?
如果是这种情况,您可以使用.replace()方法并传入与所有非数字匹配的\D
的正则表达式值。
以下是一个例子:
removeInt = abc.replace(/\D/g,'');
祝你好运!
答案 3 :(得分:0)
请试试这个。结果将是带小数的数字。
var abc = "Hai 40.00-";
var result = abc.replace(/[A-Za-z$]/g, "");
alert(result);