Ich habe diese Zeichenfolge:
0000000020C90037: TEMP: Daten
Ich brauche diesen String:
TEMP: Daten.
Mit PHP würde ich das machen:
$str = '0000000020C90037:TEMP:data';
$arr = explode(':', $str);
$var = $arr[1].':'.$arr[2];
Wie kann ich explode
eine Zeichenfolge in JavaScript effektiv so ausführen, wie sie in PHP funktioniert?
javascript
php
string
Doug Molineux
quelle
quelle
split(delimiter,limit)
Der Grenzwertparameter funktioniert NICHT genauso wieexplode($delimiter,$string,$limit)
der Grenzwertparameter. Beispiel:explode('.','1.2.3.4',3) === array('1','2','3.4')
- In Javascript erhalten Sie :'1.2.3.4'.split('.',3) === ['1', '2', '3']
. Weiß jemand, wie man die PHP-Methode einfach repliziert?Sie müssen sich nicht trennen. Sie können verwenden
indexOf
undsubstr
:Aber das Äquivalent
explode
wäresplit
.quelle
Sollte die explode () - Funktion von PHP genau imitieren.
quelle
Sieht aus wie Sie Split wollen
quelle
Versuche dies:
quelle
create ist ein Objekt:
quelle
Verwenden Sie String.split
"0000000020C90037:TEMP:data".split(':')
quelle
Wenn Sie PHP mögen, werfen Sie einen Blick auf PHP.JS - JavaScript explodieren
Oder in normaler JavaScript-Funktionalität: `
quelle
emptyArray = { 0: '' }
? : - /explode('foo','bar'); // 'bar'
Dies ist der Grund, warum ich hier angekommen bin. Für meine Zwecke ist ein Skript zum Kopieren und Einfügen, das ich mit Einschränkungen verwenden möchte, absolut perfekt. Ich muss mich nicht dazu zwingen, meine eigenen zu kreieren. Warum das Rad doch neu erfinden, küssenconsole.log(('0000000020C90037:TEMP:data').split(":").slice(1).join(':'))
Ausgänge:
TEMP:data
quelle
Ohne die Absicht, John Hartsock zu kritisieren , würde ich formell vorschlagen, dies stattdessen zu verwenden, falls die Anzahl der Begrenzer für jeden, der den angegebenen Code verwendet, variieren kann ...
quelle
quelle
Nur eine kleine Ergänzung zu Psycho brms Antwort (seine Version funktioniert nicht in IE <= 8). Dieser Code ist browserübergreifend kompatibel:
quelle
Ich weiß also, dass dieser Beitrag ziemlich alt ist, aber ich dachte mir, ich könnte auch eine Funktion hinzufügen, die mir über die Jahre geholfen hat. Warum nicht einfach die Explosionsfunktion wie oben erwähnt mit split neu erstellen? Nun hier ist es:
Diese Funktion funktioniert gut, wenn Sie versuchen, die Werte zwischen zwei Werten abzurufen. Zum Beispiel:
Wenn Sie daran interessiert sind, die Informationen zwischen den beiden [Werten] "Tags" abzurufen, können Sie die folgende Funktion verwenden.
Angenommen, Sie haben diese praktischen "Tags" wie im obigen Beispiel nicht angezeigt. Ganz gleich.
Willst du es in Aktion sehen? Klicken Sie hier .
quelle
Die explodierte Variable gibt das Array zurück und Sie können auf Elemente des Arrays zugreifen, indem Sie darauf zugreifen. true exploded [nth] wobei nth der Index des Werts ist, den Sie erhalten möchten
quelle
~
(dies verursacht einen Syntaxfehler). Und Spleißen ist nicht für diesen Zweck gedacht, sondern zum Abrufen / Herausnehmen von Elementen aus einem Array oder zum Hinzufügen zu einem Array.versuche es so,
Und Sie können zwei Teile der Zeichenfolge wie verwenden,
ans [0] und ans [1]
quelle
Ich habe Slice, Split und Join verwendet. Sie können nur eine Codezeile schreiben
quelle
Wenn Sie Ihre eigene Funktion definieren möchten, versuchen Sie Folgendes:
Entnommen aus: http://locutus.io/php/strings/explode/
quelle
Der Code von Felix Kling ist dynamisch (im Gegensatz zur akzeptierten Antwort), aber die anfängliche Beispielzeichenfolge ist ein schrecklicher Ausgangspunkt. Also visuell demonstriert seine Antwort (er ist nur die Frage zu beantworten) für diejenigen , die Qualität wollen und Geschwindigkeit:
quelle