Foros del Web » Programando para Internet » Javascript »

Extraer parte de una cadena de acuerdo a caracter

Estas en el tema de Extraer parte de una cadena de acuerdo a caracter en el foro de Javascript en Foros del Web. Saludos. he leido los post pero no he encontrado nada que aplique lo que necesito. Es lo siguiente, necesito extraer una parte de la cadena. ...
  #1 (permalink)  
Antiguo 07/09/2005, 14:35
 
Fecha de Ingreso: febrero-2005
Mensajes: 673
Antigüedad: 19 años, 2 meses
Puntos: 2
Pregunta Extraer parte de una cadena de acuerdo a caracter

Saludos.

he leido los post pero no he encontrado nada que aplique lo que necesito.

Es lo siguiente, necesito extraer una parte de la cadena. Ej:
Carrocerias->AA43
LLantas->AA41

Necesito sacar lo que este de -> para adelante.

Agradezco la ayuda y sugerencias que me puedan brindar.
  #2 (permalink)  
Antiguo 07/09/2005, 15:16
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola:

Lo que suelo usar es algo así:

"Carrocerias->AA43".split("->")[1]

Te cuento, split convierte en array las cadenas, y el separador es lo que tiene como parámetro.
En el caso, la parte primera es el índice 0 y la segunda el 1.

Si necesitas una explicación mejor, dilo, y trataremos de hacerlo.
Creo que también es posible con expresiones regulares, pero creo que sería algo un poco más complejo.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 07/09/2005, 16:32
 
Fecha de Ingreso: febrero-2005
Mensajes: 673
Antigüedad: 19 años, 2 meses
Puntos: 2
No entendi muy bien

Saludos caricatos.

Me puedes explicar mejor??

A ver te cuento lo que hago; hago una consulta en php de una tabla y traigo los datos; ahora la idea es la siguiente:

En un combo pongo los campos codigo, descripcion y dias de vencimiento del documento.

Ej: el codigo es el value.
Correspondencia->2
Reclamos->1
Tutela->4

De acuerdo a los numeros que acompañen a cada item del select(combo) debo sumarselos a la fecha que digitan; eso lo tengo en javascript; lo quiero hacer con javascript porque PHP me recarga la pagina y para el usuario es molesto ver ese efecto de "recarga" de la pagina.

Agradezco de antemano la ayuda que me puedas brindar.
  #4 (permalink)  
Antiguo 07/09/2005, 17:08
Avatar de onlykfk  
Fecha de Ingreso: agosto-2005
Ubicación: 20°45' Latitud Norte 100°
Mensajes: 121
Antigüedad: 18 años, 8 meses
Puntos: 1
Utiliza el split de javascript:

var strCompleta=new String("Carrocerias->AA43");
var arrPartes=strCompleta.split("-->");
var adelante=arrPartes[1];

o la mas sencilla pero algo apache:
var strCompleta=new String("Carrocerias->AA43");
var adelante = strCompleta.substring(strCompleta.indexOf("-->")+2, strCompleta.length);


Saludos
__________________
Yo tan sólo se, que no he senado
  #5 (permalink)  
Antiguo 07/09/2005, 17:11
Avatar de onlykfk  
Fecha de Ingreso: agosto-2005
Ubicación: 20°45' Latitud Norte 100°
Mensajes: 121
Antigüedad: 18 años, 8 meses
Puntos: 1
Fe de erratas

Perdon en lugar de "-->" es "->"

I'm so sorry :)

Saludos
__________________
Yo tan sólo se, que no he senado
  #6 (permalink)  
Antiguo 07/09/2005, 22:48
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola:

Por ejemplo, usando el evento onchange del select para obtener esa parte de la cadena:

<select onchange="alert(this.value.split('->')[1])" >
<option value="Correspondencia->2">Correspondencia->2</option>
<option value="Reclamos->1">Reclamos->1</option>
<option value="Tutela->4">Tutela->4</option>
</select>

Lo que devuelve el alert sería lo que necesitas, así que debes cambiar el alert por la función que dices que ya tienes en javascript.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #7 (permalink)  
Antiguo 08/09/2005, 07:38
 
Fecha de Ingreso: febrero-2005
Mensajes: 673
Antigüedad: 19 años, 2 meses
Puntos: 2
No me sale!!!

Saludos.

No me salio. Este es el codigo que tengo

<select name="cbTipoDoc" size="1" id="cbTipoDoc" onChange="alert(this.value.split('->')[1])">
<?php
while($row = mssql_fetch_array($Busq))
{
echo "<option value=".$row['TdCodigo']."
selected>".$row['TdNombre']."->".$row['TdDiasVenc']."</option>";
}
?>
</select>

Que tengo mal?????
  #8 (permalink)  
Antiguo 08/09/2005, 08:46
Avatar de onlykfk  
Fecha de Ingreso: agosto-2005
Ubicación: 20°45' Latitud Norte 100°
Mensajes: 121
Antigüedad: 18 años, 8 meses
Puntos: 1
Le estas asignando a la propiedad value el codigo y muestras la cadena, entonces lo ke deberias hacer es:

<select name="cbTipoDoc" size="1" id="cbTipoDoc" onChange="alert(this.value.split('->')[1])">
<?php
while($row = mssql_fetch_array($Busq))
{
echo "<option value='".$row['TdNombre']."->".$row['TdDiasVenc']."' selected>".$row['TdNombre']."->".$row['TdDiasVenc']."</option>";
}
?>
</select>

Ahora que, si usas la propiedad value posteriormente, no se, tal vez al hacer submit, entonces asi como lo tienes en lugar de "this.value.split('->')[1]" "utiliza this.options[this.selectedIndex].title" y tu codigo seria asi:

<select name="cbTipoDoc" size="1" id="cbTipoDoc" onChange="alert(this.value.split('->')[1])">
<?php
while($row = mssql_fetch_array($Busq))
{
echo "<option value='".$row['TdCodigo']."' title='".$row['TdNombre']."->".$row['TdDiasVenc']."' selected>".$row['TdNombre']."->".$row['TdDiasVenc']."</option>";
}
?>
</select>

Saludos
__________________
Yo tan sólo se, que no he senado
  #9 (permalink)  
Antiguo 16/09/2005, 07:35
 
Fecha de Ingreso: febrero-2005
Mensajes: 673
Antigüedad: 19 años, 2 meses
Puntos: 2
No me sale

Saludos.

Tampoco me sale

Lo escribi como esta en el codigo pero tampoco....
  #10 (permalink)  
Antiguo 11/02/2011, 13:36
Avatar de ix0ye  
Fecha de Ingreso: julio-2009
Ubicación: queretaro
Mensajes: 41
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: Extraer parte de una cadena de acuerdo a caracter

que bie, split(); se asemeja a explode(); en PHP.

split(); tambien tiene algo asi como end() en explode???, es decir, con split puedo recuperar el ulimo valor?

imaginando que la cadena puede tener el separador varias veces, por ejemplo

uno.dos.tres.jpg y en este caso solo necesito "jpg"
  #11 (permalink)  
Antiguo 11/02/2011, 16:04
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Extraer parte de una cadena de acuerdo a caracter

Hola:

Como split genera un array, luego se puede rescatar el último elemento con el método pop()...

onchange="alert(this.value.split('->').pop())"

Saludos

... y por cierto, cerramos el tema. Si quieres continuarlo, es mejor que abras un tema nuevo

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
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.
Tema Cerrado

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 04:29.