0

次の文字列があります

w[]=18&w[]=2&w[]=2[]=2

jQuery関数を作成して、そのようにカンマで区切たいと思います:

18,2,2,2
4

3 に答える 3

0

String#replace数字以外に一致する正規表現を使用して、先頭のコンマを削除できます。

var str = "w[]=18&w[]=2&w[]=2[]=2";
str = str.replace(/\D+/g, ',').substring(1);

実例| ソース

于 2013-01-15T13:05:54.830 に答える
0

更新substring():とを使用する方がはるかに簡単ですsplit():

var myArray = str.substring(4).split("&w[]=");

&w(欠落がタイプミスであると仮定して!)

  • substring(4)文字の最初のものを捨てます:w[]=
  • split()分離文字列として使用して、文字列を要素に分割し&w[]=ます。


古い解決策:

オカレンスを見つけて、関数を使用してw[]=オカレンスを置き換えるだけです,replace()

var str="w[]=18&w[]=2&w[]=2[]=2";
var fixedStr=str.replace(/\&/g,",").replace(/\w?\[\]\=/g,"");

文字列を配列に変換するには(「リスト」と言うときは「配列」を意味すると思います)、 ssplit()でそれを行う必要があります,

var myArray = fixedStr.split(",");
于 2013-01-15T13:07:05.483 に答える
0

例のように数値以外のキーと数値を想定して、正規表現の方法を使用すると、match()すべての数値が直接になります。これは、文字列内のすべての数字に一致する (数字ではない) を含む配列を返します。

var query_string  = 'w[]=18&w[]=2&w[]=2[]=2';
var numbers_array = query_string.match(/\d{1,}/g);

その後、CSV 文字列が必要な場合はjoin()、配列値に,区切り記号を付けることができます。

var numbers_csv = numbers_array.join(',');
于 2013-01-15T13:16:55.930 に答える