2016-09-25 4 views

答えて

3

使用正規表現は、より柔軟なソリューションのために(除く」。 ")非数字を除去する場合:

parseFloat("STA01.02".replace(/[^0-9\.]+/g, '')); 
+0

'/ [^ \ d。]/g' - ' [] 'の中の' .'をエスケープする必要はなく、 '+'は必要ありません。 (たぶん '+'はおそらく単一の置換を行うだけなのでもっと効率的ですが、わかりません。) – nnnnnn

0

常に同じ接頭辞...

var str = "STA01.02"; 
var number = parseFloat(str.substring(3)); 
+0

"この例の部分文字列(2)には「A01.02」が与えられています。 "01.02"には部分文字列3、 "1.02"には部分文字列(4)が必要です。 substring(2)は正しく解析されません。 –

+0

あなたの右:ありがとう、投稿編集 – Tommy

0
// Assumed "STA0" is the fixed-length prefix, you can adjust the substring at the start you're getting rid of. 

var myString = "STA01.02"; 
var noPrefix = myString.substring(4); // Just "1.02" 
var myNumber = parseFloat(noPrefix); 
console.log(myNumber); // Prints 1.02 
+0

こんにちは!文字の接頭辞は固定されていますが、数字部分が変わります(例:STA01.02、STA11.03、STA23.11)ので、 "01.02"部分が必要です... " 1.02 "? –

+0

ああ、「STAn」ではなく「STA」を取り除きたいのであれば、nは数字ですが、var noPrefix = myString.substring(3)です。 //ただ "01.02"。または、すべての文字を取り除きたい場合は、受け入れられた解決策を使用してください。 –

関連する問題