suchen

Heim  >  Fragen und Antworten  >  Hauptteil

javascript - Wie teile ich diese Variable auf?

quote_ABC_123123='jsonparse1';

quote_ABC_123123123='jsonparse2';

Erhält regelmäßig die Zeichen nach dem zweiten _ und die folgende Zeichenfolge, um ein Array zu bilden

[123123:jsonparse1,123123123:jsonparse2]

Wie implementiert man es mit js? = =

天蓬老师天蓬老师2799 Tage vor690

Antworte allen(5)Ich werde antworten

  • PHP中文网

    PHP中文网2017-06-06 09:56:11

    var obj = {};
    
    ["quote_ABC_123123='jsonparse1'", "quote_ABC_123123123='jsonparse2'"].forEach(v => {
        v.replace(/.*_(\d*)='(.*)'/, (a, b, c) => {
            obj[b] = c;
        });
    })
    
    console.log(obj);

    Antwort
    0
  • 世界只因有你

    世界只因有你2017-06-06 09:56:11

    如果组成格式固定的话可以这样:
    str.split("_")[2];

    或者lastIndexOf获取最后一个“_”位置后,截取后面的字符串,

    正则我不是很熟,都是随用随查的哪种,等楼下补充

    Antwort
    0
  • 某草草

    某草草2017-06-06 09:56:11

    php的话,"/(1+)='(w+)';$/"这个表达式可以取出来等号两边的字符


    1. _ ↩

    Antwort
    0
  • 巴扎黑

    巴扎黑2017-06-06 09:56:11

    1. 正则php:

          preg_match("/quote_ABC_(.+?)='(.+?)'/", "quote_ABC_123123='jsonparse1'", $matches);
          var_dump(array($matches[1] => $matches[2]));
          
    2. explode php:

          $arr    = explode('_', "quote_ABC_123123='jsonparse1'");
          $result = explode('=', $arr[2]);
          var_dump(array($result[0] => trim($result[1], "'")));

    Antwort
    0
  • 淡淡烟草味

    淡淡烟草味2017-06-06 09:56:11

    答案上面已经有了,我补充一下。如果前缀是quote_ABC 最好写quote_ABC 第三位要确认需求是不是只是数字
    还有后面的单引号 会不会出现双引号。另外forEach是ES5的API

    Antwort
    0
  • StornierenAntwort