私はこのような文字列を持っています
Hey this is my 1.20 string
私は1.20
そこから抽出しようとしています。
これを行う最善の方法は何ですか?
私はこのようなことを試しましたが1.20,20
、単に1.20
var query = $(".query_time").html();
var matches = query.match(/\d.(\d+)/);
私はこのような文字列を持っています
Hey this is my 1.20 string
私は1.20
そこから抽出しようとしています。
これを行う最善の方法は何ですか?
私はこのようなことを試しましたが1.20,20
、単に1.20
var query = $(".query_time").html();
var matches = query.match(/\d.(\d+)/);
match 関数の結果は、文字列ではなく配列です。だから、単に取る
var nb = query.match(/\d.(\d+)/)[0];
ところで、より正確な一致が必要な場合は、ドットもエスケープする必要があります。
var nb = query.match(/\d\.(\d+)/)[0];
または、カンマを受け入れたい場合は次のようにします (言語によって異なります)。
var nb = query.match(/\d[\.,](\d+)/)[0];
しかし、正確な正規表現は、もちろん、あなたの正確なニーズに基づいており、任意の数値 (科学表記法?) に一致するように、より複雑な正規表現を確認することをお勧めします。
以下を試してください
var nb = query.match(/\d\.\d+/)[0]; // "1.20"
.
それは任意の文字を表すため、エスケープする必要があります。の値matches
は実際には[ "1.20", "20" ]
(これは配列です)。印刷すると、文字列に変換されるため、1.20,20
.
String.match
null
または最初のインデックスが完全に一致した部分であり、次に必要な部分である一致の配列を返します。したがって、必要な値は ですmatches[0]
。