389 Stimmen

Javascript-Äquivalent zu PHP Explode()

Ich habe diesen String:

0000000020C90037:TEMP:data

Ich brauche diesen String:

TEMP:data.

Mit PHP würde ich dies tun:

$str = '0000000020C90037:TEMP:data';
$arr = explode(':', $str);
$var = $arr[1].':'.$arr[2];

Wie kann ich effektiv explode eine Zeichenkette in JavaScript auf die gleiche Weise wie in PHP?

652voto

John Hartsock Punkte 82122

Dies ist eine direkte Konvertierung aus Ihrem PHP-Code:

//Loading the variable
var mystr = '0000000020C90037:TEMP:data';

//Splitting it with : as the separator
var myarr = mystr.split(":");

//Then read the values from the array where 0 is the first
//Since we skipped the first element in the array, we start at 1
var myvar = myarr[1] + ":" + myarr[2];

// Show the resulting value
console.log(myvar);
// 'TEMP:data'

53voto

psycho brm Punkte 7174
String.prototype.explode = function (separator, limit)
{
    const array = this.split(separator);
    if (limit !== undefined && array.length >= limit)
    {
        array.push(array.splice(limit - 1).join(separator));
    }
    return array;
};

Sollte die Funktion explode() von PHP genau nachahmen.

'a'.explode('.', 2); // ['a']
'a.b'.explode('.', 2); // ['a', 'b']
'a.b.c'.explode('.', 2); // ['a', 'b.c']

49voto

Felix Kling Punkte 751464

Sie brauchen sich nicht zu trennen. Sie können indexOf y substr :

str = str.substr(str.indexOf(':')+1);

Aber das Äquivalent zu explode wäre split .

32voto

Quentin Punkte 850700

Sieht aus, als wollten Sie geteilt

10voto

weltraumpirat Punkte 22414

Versuchen Sie dies:

arr = str.split (":");

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X