0

私は文字列を言う:

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

これはアップロードが開始されたときの初期状態であり、操作の実行に合わせて更新する必要があります。その 0 を新しい数字に置き換える必要がありますが、最終的に 2 桁に変更され、長さが変わるため、部分文字列を取得することはできません...

長さが一定の場合、次のことができます。

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

正規表現または実際には他の方法が必要だと思います。

4

4 に答える 4

1

indexOfとの組み合わせでそれを行うこともできますsubstringが、正規表現を使用すると簡単になります。

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

文字列には他に数字はありませんよね?

文字列をもう一度書くこともできます..おそらく正規表現よりもさらに安価です。

于 2013-02-08T04:16:07.483 に答える
0

Certianallyは、正規表現と単純な置換で実行できます

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

文字列を置き換えます

$1 "new percentage" $2
于 2013-02-08T04:16:16.147 に答える
0

/.*([0-9]+)\%/このようなもので番号がわかります。しかし実際には、これを行うには長い道のりです。

于 2013-02-08T04:17:15.250 に答える
0

この場合、正規表現は本当に必要ありません。

var currentLabel = "Uploading file... ";
var newLabel = currentLabel + percent + "%";
于 2013-02-08T04:21:24.637 に答える