Javascript正则表达式-百分号前的数字
我有一句话要说:Javascript正则表达式-百分号前的数字,javascript,regex,Javascript,Regex,我有一句话要说: var currentLabel = "Uploading file... 0%" 这是上传开始时的初始状态,我需要在操作运行时更新它。我需要取0并用一个新的数字替换它,但是我不能只得到一个子串,因为它最终会变为2位数,长度也会变 如果长度不变,我可以: var newLabel = currentLabel.substring(0, currentLabel.length - 2) + percent + "%"; 我想我需要一个正则表达式或其他任何方式。您可能可以使用
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]+)\%/
像这样的东西会告诉你号码。但实际上,要做到这一点还有很长的路要走 在这种情况下,您实际上不需要regexp:
var currentLabel = "Uploading file... ";
var newLabel = currentLabel + percent + "%";
为什么不能执行
var newLabel=“上传文件…”+百分比+“%”代码>var newLabel=currentLabel.replace(/\d+/,百分比)
,然后您可以将字符串指定为您喜欢的任何字符串,上面的数字只是替换了数字(只希望只有一个…)True!我最初的想法是,它会引起闪烁,但事实并非如此,所以我只是更换了它。你的正则表达式也适用。