Tengo esta cadena:
0000000020C90037: TEMP: datos
Necesito esta cadena:
TEMP: datos.
Con PHP haría esto:
$str = '0000000020C90037:TEMP:data';
$arr = explode(':', $str);
$var = $arr[1].':'.$arr[2];
¿Cómo hago para que explode
una cadena en JavaScript funcione de manera efectiva en PHP?
javascript
php
string
Doug Molineux
fuente
fuente
split(delimiter,limit)
El parámetro límite de 'NO funciona igual queexplode($delimiter,$string,$limit)
el parámetro límite de'. Ejemplo:explode('.','1.2.3.4',3) === array('1','2','3.4')
- mientras que en Javascript, que obtendrá:'1.2.3.4'.split('.',3) === ['1', '2', '3']
. ¿Alguien sabe cómo replicar fácilmente el método de PHP?No necesitas separarte. Puedes usar
indexOf
ysubstr
:Pero el equivalente a
explode
seríasplit
.fuente
Debe imitar exactamente la función explde () de PHP.
fuente
Parece que quieres dividir
fuente
Prueba esto:
fuente
crear es un objeto:
fuente
Use String.split
"0000000020C90037:TEMP:data".split(':')
fuente
Si le gusta php, eche un vistazo a php.JS: JavaScript explota
O en la funcionalidad normal de JavaScript: `
fuente
emptyArray = { 0: '' }
? : - /explode('foo','bar'); // 'bar'
Esta es la razón por la que llegué aquí y, para mis propósitos, un script de copiar y pegar que pretendo usar con límites es absolutamente perfecto. No tengo que dejar de lado para crear el mío. ¿Por qué reinventar la rueda después de todo, besoconsole.log(('0000000020C90037:TEMP:data').split(":").slice(1).join(':'))
salidas:
TEMP:data
fuente
Sin intenciones de criticar a John Hartsock , en caso de que el número de delimitadores pueda variar para cualquiera que use el código dado, sugeriría formalmente usar esto en su lugar ...
fuente
fuente
Solo una pequeña adición a la respuesta de psycho brm (su versión no funciona en IE <= 8). Este código es compatible con varios navegadores:
fuente
Así que sé que esta publicación es bastante antigua, pero pensé que también podría agregar una función que me haya ayudado a lo largo de los años. ¿Por qué no simplemente rehacer la función de explosión usando la división como se mencionó anteriormente? Pues aquí está:
Esta función funciona bien si está intentando obtener los valores entre dos valores. Por ejemplo:
Si estaba interesado en obtener la información entre las dos "etiquetas" [valores], podría utilizar la función de la siguiente manera.
Pero supongamos que no tiene esas prácticas "etiquetas" como se muestra en el ejemplo anterior. No importa.
¿Lo ves en acción? Haga clic aquí .
fuente
la variable explotada devolverá la matriz y puede acceder a elementos de la matriz accediendo a ella verdadera explotada [nth] donde nth es el índice del valor que desea obtener
fuente
~
(esto provoca un error de sintaxis). Y el empalme no es para este propósito, es para obtener / sacar elementos de una matriz o agregarlos.intenta así,
Y puedes usar dos partes de la cadena como,
ans [0] y ans [1]
fuente
Usé cortar, dividir y unir Puedes escribir una sola línea de código
fuente
Si desea definir su propia función, intente esto:
Tomado de: http://locutus.io/php/strings/explode/
fuente
El código de Felix Kling es dinámico (a diferencia de la respuesta aceptada), sin embargo, la cadena de ejemplo inicial es un punto de partida terrible. Entonces, para demostrar visualmente su respuesta (solo está respondiendo la pregunta) para aquellos que quieren calidad y velocidad:
fuente