[英]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.