[英]Javascript regular expression - number before percent sign
我有一个字符串说:
var currentLabel = "Uploading file... 0%"
这是上传开始时的初始状态,我需要在操作运行时对其进行更新。 我需要将该0替换为新数字,但是我不能仅仅得到一个子字符串,因为它最终将变为2位数字,并且长度也将改变...
如果长度恒定,我可以这样做:
var newLabel = currentLabel.substring(0, currentLabel.length - 2) + percent + "%";
我猜我需要一个正则表达式或其他方式。
您可能可以结合使用indexOf
和substring
,但是正则表达式确实使它更简单:
newLabel = currentLabel.replace(/\d+$/, percent + "%");
字符串中没有其他数字了吧?
您也可以再次写字符串..它可能比正则表达式便宜。
可以通过正则表达式和简单的替换来完成
([\S\s]+?[\d]+([%])
替换字符串
$1 "new percentage" $2
/.*([0-9]+)\\%/这样的数字会给您。 但这确实需要很长的路要走。
在这种情况下,您实际上不需要正则表达式:
var currentLabel = "Uploading file... ";
var newLabel = currentLabel + percent + "%";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.