Foros del Web » Programando para Internet » Javascript »

equivalente javascript para preg_split_no_empty PHP

Estas en el tema de equivalente javascript para preg_split_no_empty PHP en el foro de Javascript en Foros del Web. Hola, Tengo unas cadenas de este tipo: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver original var cadenas = [ 'A=B' , 'C0!=D1' , 'Æ5~=Ǿ7' , 'F^=G4' ...
  #1 (permalink)  
Antiguo 02/02/2016, 05:29
 
Fecha de Ingreso: mayo-2013
Mensajes: 191
Antigüedad: 10 años, 11 meses
Puntos: 10
equivalente javascript para preg_split_no_empty PHP

Hola,

Tengo unas cadenas de este tipo:
Código Javascript:
Ver original
  1. var cadenas = ['A=B','C0!=D1','Æ5~=Ǿ7','F^=G4'];

Cada cadena tiene dos grupos de caracteres (unicode) como mucho de 2 caracteres separados por unos símbolos (son los símbolos que se emplean en los selectores jquery para separar el nombre de atributo del valor de atributo) siempre hay el símbolo = a veces precedido de ! ~ ^

Lo que necesito es sacar de la cadena solo estos separadores: = , != , ~= , ^=

En PHP lo he resuelto muy rapido con :
Código PHP:
Ver original
  1. $cadenas = ['A=B','C0!=D1','Æ5~=Ǿ7','F^=G4'];
  2. foreach($cadenas as $cadena){
  3.     $separador = preg_split("/(?<!\pL\pN)(\w)(?!\pL\pN)/", $cadena, -1, PREG_SPLIT_NO_EMPTY);
  4.    
  5.     echo $separador[0]; // resultados: = != ~= ^=
  6. }

Pero no se como resolverlo en javascript

Edito: he encontrado en internet una funcion javascript split.js que a su vez depende de otra explode.js
http://phpjs.org/functions/split/
pero al intentar con el mismo regexp que empleo en php no me da nada me sale un objeto vacio no hay coincidencias
Código Javascript:
Ver original
  1. separador = split(/(\w)/,cadena);


Muchas gracias

Última edición por matake; 02/02/2016 a las 05:53

Etiquetas: equivalente, php, valor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:12.