¿Cómo puedo explotar una cadena por uno o más espacios o pestañas?Explotar cadena por uno o más espacios o pestañas
Ejemplo:
A B C D
Quiero hacer esta una matriz.
¿Cómo puedo explotar una cadena por uno o más espacios o pestañas?Explotar cadena por uno o más espacios o pestañas
Ejemplo:
A B C D
Quiero hacer esta una matriz.
$parts = preg_split('/\s+/', $str);
$ parts El último elemento estará en blanco ... para eliminarlo array_pop ($ parts); – user889030
La respuesta de @lucsan debe ser la mejor respuesta (https: // stackoverflow.com/a/38481324/1407491) –
en lugar de utilizar explotar, tratar preg_split: http://www.php.net/manual/en/function.preg-split.php
Esto funciona:
$string = 'A B C D';
$arr = preg_split('/[\s]+/', $string);
Creo que quieres preg_split
:
$input = "A B C D";
$words = preg_split('/\s+/', $input);
var_dump($words);
@OP no importa , puedes simplemente dividir en un espacio con explotar. Hasta que desee usar esos valores, itere sobre los valores desglosados y descarte los espacios en blanco.
$str = "A B C D";
$s = explode(" ",$str);
foreach ($s as $a=>$b){
if (trim($b)) {
print "using $b\n";
}
}
¿Qué ocurre con los valores delimitados por tabulaciones? – dotancohen
Los valores delimitados por tabuladores no se explotarán, entonces ugh. – NekojiruSou
Para separar por pestañas:
$comp = preg_split("/[\t]/", $var);
Para separar por espacios/pestañas/saltos de línea:
$comp = preg_split('/\s+/', $var);
para separar por espacios solo:
$comp = preg_split('/ +/', $var);
En Para dar cuenta de espacio ancho como
full width
puede extender Bens respuesta a esto:
$searchValues = preg_split("@[\s+ ]@u", $searchString);
Fuentes:
(no tengo la reputación suficiente para publicar un comentario, así que estoy escribí esto como una respuesta.)
El autor pidió a explotar, a usted puede utilizar explotar como este
$resultArray = explode("\t", $inputString);
Nota: debe utilizar comillas dobles, no solo.
Funcionó para mí y es un poco más simple que usar el poder oscuro de las expresiones regulares. – ddtpoison777
Explode string by one or more spaces or tabs in php example as follow:
<?php
$str = "test1 test2 test3 test4";
$result = preg_split('/[\s]+/', $str);
var_dump($result);
?>
/** To seperate by spaces alone: **/
<?php
$string = "p q r s t";
$res = preg_split('/ +/', $string);
var_dump($res);
?>
cero o más espacios implica que, o bien cada elemento tendrá como máximo un carácter, o que va a tener un número infinito de elementos vacíos. ¿Estás seguro de que esto es lo que quieres? – bdonlan
Sí, eso debería ser probablemente "uno o más espacios". –