0

私はWebアプリケーションを書いています。サーバー API を使用して、UI レベルで文字列として情報を取得しています。サーバー側からのそのような応答は単一の文字列です。これらの文字列の構造は次のとおりです。

レスポンス ( {numberParam}ポイント)

常に一定です。文字列を取得する例:

Response (76 points)

Response (5193 points)

Response (4 points)

Response (21 points)

string を取得して、この数値パラメータの値のみを取得する必要があります

外部のライブラリやフレームワークは使用しないでください。ネイティブ JavaScript のみ。

どんなアドバイスにも感謝します!

4

2 に答える 2

4

あなたの文字列がいつもそのようなものなら、あなたは簡単に行うことができます

var num = parseInt(str.match(/\d+/)[0], 10);
于 2013-02-21T09:44:04.130 に答える
1

このようなパターンのマッチングに最適な正規表現を使用します。これは、入力文字列を1つ以上の非数字文字(\D+)で分割された部分に分割して、結果の配列がのよう['','76','']になり、その配列から位置1()を選択できるようにするために使用される正規表現[1]です。

var str = "Response (76 points)"

var num = str.split(/\D+/)[1]
console.log(num)

または、数字以外のすべての文字を何も置き換えないでください...

var num = str.replace(/\D/g,'')
console.log(num)

または、数字の最初のチェーンに一致します...

var num = str.match(/\d+/)[0]
console.log(num)

または、おそらく最も便利なのは、単語の配列を提供する1つ以上の非単語文字(\W+)で分割してから、必要な部分を選択することです。エラーメッセージから他の意味のある情報を取得でき、さまざまなエラーメッセージや状況に適用できるので、私はこれが好きです...

var parts = str.split(/\W+/)
// parts is: [ 'Response', '76', 'points', '' ]
var num = parts[1]
console.log(num)
于 2013-02-21T09:43:50.590 に答える