Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Eliminar caracteres de un string

Estas en el tema de Eliminar caracteres de un string en el foro de PHP en Foros del Web. Hola amigos de forosdelweb, pues esta ves tengo una duda de como eliminar unos caracteres de un string lo que pasa que estoy importando a ...
  #1 (permalink)  
Antiguo 14/01/2014, 18:52
Avatar de giancarloffi  
Fecha de Ingreso: julio-2013
Mensajes: 63
Antigüedad: 10 años, 10 meses
Puntos: 0
Eliminar caracteres de un string

Hola amigos de forosdelweb, pues esta ves tengo una duda de como eliminar unos caracteres de un string lo que pasa que estoy importando a la base de datos desde un excel y quisiera eliminar caracteres que estan de más por ejemplo:

Código PHP:
4;"";"";"";"";"";"(dB)";"-25 
solo quiero dejar el numero 25 y eliminar todo lo que esta delante de eso me funciona usando el str_replace poniendo todo eso pero hay veces en que varia pero siempre hay un guion delante del 25 o del numero (que viene a ser el que quiero dejar en la BD) que se dejara y entonces estoy pensando usar en preg_replace que creo yo funcionaria mejor pero no tengo idea de como usarlo es que no manejo mucho las expresiones regulares les agradesco de antemano su ayuda!!
  #2 (permalink)  
Antiguo 14/01/2014, 19:35
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Eliminar caracteres de un string

¿El número que deseas tomar, siempre tiene un guión adelante y está al final?
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 14/01/2014, 19:44
Avatar de giancarloffi  
Fecha de Ingreso: julio-2013
Mensajes: 63
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: Eliminar caracteres de un string

asi es solo quiero los numeros que aparecen despues del guion
  #4 (permalink)  
Antiguo 14/01/2014, 19:58
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Eliminar caracteres de un string

En ese caso y si y sólo si dicho número se encuentre al final de la cadena, puedes separarla en dos con la función explode, la cual separará la cadena en dos partes a partir del elemento separador que indiques, que en tu caso es el guión, luego, se forma un array con las dos partes y solamente tendrías que tomar la segunda que corresponde al número que estaba a la derecha del guión.

Código PHP:
Ver original
  1. $cadena = '4;"";"";"";"";"";"(dB)";"-25';
  2. $nuevaCadena = explode("-", $cadena);
  3.  
  4. echo $nuevaCadena[1]; //Imprime 25

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #5 (permalink)  
Antiguo 14/01/2014, 19:58
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Eliminar caracteres de un string

Si el guión siempre está presente usando strpos() y substr() debería bastar.

Código PHP:
echo substr('abc-5'strpos('abc-5''-') + 1); // 5 
Si tienes dudas consulta el manual.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 14/01/2014, 20:26
Avatar de giancarloffi  
Fecha de Ingreso: julio-2013
Mensajes: 63
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: Eliminar caracteres de un string

ok pero lo que varía aparte del numero que deseo ingresar a la BD es lo que esta dentro de
Código PHP:
4;"";"";"";"";"";"(dB)";
el guion siempre estara antes del numero, osea puede haber un ; menos o unas comillas menos y poniendolo tal como me indican tendría que poner ese estring como está, en sí lo que hace es el script es ingresar los datos desde el excel y por eso lo coge con todos esos caracteres despues hace la actualización por eso queria saber si se podría hacer con alguna expresion regular o nose.
  #7 (permalink)  
Antiguo 14/01/2014, 20:30
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Eliminar caracteres de un string

Bueno, ¿por qué no haces la prueba antes de asumir que no funcionará siempre?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 14/01/2014, 21:01
Avatar de giancarloffi  
Fecha de Ingreso: julio-2013
Mensajes: 63
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: Eliminar caracteres de un string

bueno estuve intentando pero no doy los numeros que quiero que queden en la BD son dinamicos osea pueden ser 20, 30, 45, etc y lo que quiero eliminar tambien es algo dinamico solo cambian algunas comillas o puntos y comas por ejemplo asi.

Código PHP:
4;";";"";";";"(dB)";"-30
4;"
;";";";"(dB)";"-25
4
;";"";"";"";"";"(dB)";"-10 
disculpenme si no entendi sus soluciones o si me exprese mal.
  #9 (permalink)  
Antiguo 14/01/2014, 21:17
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Eliminar caracteres de un string

Como el guión y el número van a estar siempre al final, da igual la cantidad de caracteres que hayan antes. Inténtalo con la solución de pateketrueke o con la mía, con ambas obtendrás el resultado que esperas.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #10 (permalink)  
Antiguo 15/01/2014, 13:52
Avatar de giancarloffi  
Fecha de Ingreso: julio-2013
Mensajes: 63
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: Eliminar caracteres de un string

muchas gracias me sirvio de mucho sus ejemplos y disculpen las molestias :D

Etiquetas: caracteres, string
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 18:37.