Mam ten ciąg:
0000000020C90037: TEMP: dane
Potrzebuję tego ciągu:
TEMP: dane.
Z PHP zrobiłbym to:
$str = '0000000020C90037:TEMP:data';
$arr = explode(':', $str);
$var = $arr[1].':'.$arr[2];
Jak skutecznie explode
napisać ciąg w JavaScript, tak jak działa w PHP?
javascript
php
string
Doug Molineux
źródło
źródło
split(delimiter,limit)
parametr limitu NIE działa tak samo jakexplode($delimiter,$string,$limit)
parametr limitu. Przykład:explode('.','1.2.3.4',3) === array('1','2','3.4')
- podczas gdy w JavaScript, dostaniesz:'1.2.3.4'.split('.',3) === ['1', '2', '3']
. Czy ktoś wie, jak łatwo powielić metodę PHP?Nie musisz się dzielić. Możesz użyć
indexOf
isubstr
:Ale odpowiednikiem
explode
byłobysplit
.źródło
Powinien dokładnie naśladować funkcję explode () PHP.
źródło
Wygląda na to, że chcesz się podzielić
źródło
Spróbuj tego:
źródło
create jest obiektem:
źródło
Użyj String.split
"0000000020C90037:TEMP:data".split(':')
źródło
Jeśli lubisz php, spójrz na php.JS - JavaScript eksploduje
Lub w normalnej funkcjonalności JavaScript: `
źródło
emptyArray = { 0: '' }
? : - /explode('foo','bar'); // 'bar'
To jest powód, dla którego tu przybyłem i dla moich celów skrypt kopiuj i wklej, którego zamierzam używać z ograniczeniami, jest absolutnie doskonały. Nie muszę dać się wciągnąć w tworzenie własnego. Po co w końcu wymyślać koło, pocałujconsole.log(('0000000020C90037:TEMP:data').split(":").slice(1).join(':'))
wyjścia:
TEMP:data
źródło
Bez zamiaru krytykowania Johna Hartsocka , na wypadek gdyby liczba ograniczników mogła się różnić dla każdego, kto używa tego kodu, formalnie sugeruję użycie tego zamiast ...
źródło
źródło
Tylko mały dodatek do odpowiedzi psycho brm (jego wersja nie działa w IE <= 8). Ten kod jest kompatybilny z różnymi przeglądarkami:
źródło
Wiem, że ten post jest dość stary, ale pomyślałem, że równie dobrze mogę dodać funkcję, która pomogła mi przez lata. Dlaczego po prostu nie przerobić funkcji rozstrzelenia przy użyciu podziału, jak wspomniano powyżej? Cóż, oto:
Ta funkcja działa dobrze, jeśli próbujesz uzyskać wartości między dwiema wartościami. Na przykład:
Jeśli chciałbyś uzyskać informacje pomiędzy dwoma „znacznikami” [wartości], możesz użyć tej funkcji w następujący sposób.
Powiedzmy jednak, że nie masz tych przydatnych „tagów”, jak w powyższym przykładzie. Bez znaczenia.
Chcesz zobaczyć to w akcji? Kliknij tutaj .
źródło
zmienna rozstrzelona zwróci tablicę i możesz uzyskać dostęp do elementów tablicy, dostęp do niej prawda rozstrzelona [n-ty] gdzie n-ty jest indeksem wartości, którą chcesz uzyskać
źródło
~
(powoduje to błąd składniowy). I składania nie jest do tego celu, jest to, aby uzyskać / wyjąć elementy z lub dodać do tablicy.spróbuj tak
I możesz użyć dwóch części sznurka, takich jak:
ans [0] i ans [1]
źródło
Użyłem wycinania, dzielenia i łączenia Możesz napisać tylko jedną linię kodu
źródło
Jeśli chcesz zdefiniować własną funkcję, spróbuj tego:
Zaczerpnięte z: http://locutus.io/php/strings/explode/
źródło
Kod Feliksa Klinga jest dynamiczny (w przeciwieństwie do przyjętej odpowiedzi), jednak początkowy przykładowy ciąg znaków jest okropnym punktem wyjścia. Aby wizualnie zademonstrować swoją odpowiedź (po prostu odpowiada na pytanie) dla tych, którzy chcą jakości i szybkości:
źródło