1

私はjavascriptで(Excelのような)数値フォーマッタ関数を作成しています。「0000.00」や「000.000.000」のようなテンプレートを使用したいのですが、次のようになります。

format(123456789,"0 000.00") >> "123 456 789.00"
format(123456789,"000\.000\.000") >> "123.456.789"

だから私は「。」と一致する必要があります。'\'が前に付いていません。javascriptには後読みがないので、テンプレートの全体と小数部分を分割するための正規表現は何でしょうか?

残念ながらこれは機能しません:-(

template.split(/(?<!\\)\./);
4

1 に答える 1

3

文字列を逆にして、代わりに負の先読みを使用します。

template.split("").reverse().join("")
        .split(/\.(?!\\)/)
        .split("").reverse().join("");

それはそれを行う「楽しい」方法ですが、あなたの場合、もっと良いかもしれない他の方法があります。すべて\.をのようなマジックストリングに置き換え__MAGIC__、で分割し.、マジックストリングを元に戻すようなものです。

于 2012-11-10T09:21:36.483 に答える