Javascript正则表达式 - 百分号前的数字

时间:2013-02-08 04:09:44

标签: javascript regex

我有一个字符串说:

 var currentLabel = "Uploading file... 0%"

这是上传开始时的初始状态,我需要在操作运行时更新它。我需要取0并用一个新数字替换它,但是我不能只获得一个子串,因为它最终会变为2位,长度会改变......

如果长度不变,我可以这样做:

var newLabel = currentLabel.substring(0, currentLabel.length - 2) + percent + "%";

我猜我需要一个正则表达式或其他任何方式。

4 个答案:

答案 0 :(得分:1)

您可以使用indexOfsubstring的组合来完成此操作,但正则表达式确实可以使其更简单:

newLabel = currentLabel.replace(/\d+$/, percent + "%");

字符串中没有其他数字,对吧?

你也可以再次写字符串..它可能比正则表达式更便宜。

答案 1 :(得分:0)

Certianally可以使用正则表达式和简单的替换

([\S\s]+?[\d]+([%])

替换字符串

$1 "new percentage" $2

答案 2 :(得分:0)

/.*([0-9] +)\%/ 这样的东西会给你数字。但实际上,要做到这一点还有很长的路要走。

答案 3 :(得分:0)

在这种情况下你真的不需要正则表达式:

var currentLabel = "Uploading file... ";
var newLabel = currentLabel + percent + "%";