Foros del Web » Programando para Internet » Javascript »

determinar el valor entre parentesis

Estas en el tema de determinar el valor entre parentesis en el foro de Javascript en Foros del Web. Saludos, alguien sabe por casualidad como puedo determinar, el valor dentro de parentesis en un texto? por ejemplo, lo que pregunto es algo asi: Código ...
  #1 (permalink)  
Antiguo 06/08/2006, 20:38
 
Fecha de Ingreso: noviembre-2002
Ubicación: http://localhost/
Mensajes: 195
Antigüedad: 21 años, 6 meses
Puntos: 1
determinar el valor entre parentesis

Saludos, alguien sabe por casualidad como puedo determinar, el valor dentro de parentesis en un texto? por ejemplo, lo que pregunto es algo asi:

Código PHP:
function determinarValor(t){
   ....

entonces si hago

Código PHP:
alert(determinarValor(esto es una (prueba))); 
me devuelva simplemente prueba


pero si hago

Código PHP:
alert(determinarValor(esto es una (prueba de los (parentesis dentro de (parentesis))))); 
me devuelva prueba de los (parentesis dentro de (parentesis))

para luego aplicarle denuevo la funcion y asi sucesivamente hasta obtener el ultimo valor, que seria "parentesis"

Alguien sabe como puedo hacer eso? gracias..
__________________
http://www.ingenierosinc.com
  #2 (permalink)  
Antiguo 06/08/2006, 23:48
 
Fecha de Ingreso: agosto-2006
Mensajes: 44
Antigüedad: 17 años, 9 meses
Puntos: 1
Guarda este código en un archivo con extensión '.html' y cargalo.

Código:
<html>
<script>
function determinarValor(t)
{
  var i = t.lastIndexOf("(");
  var j = t.substr(i).indexOf(")");

  return t.substring(i+1,i+j);
}
</script>
<body>
texto <input name="texto"><input type="button" onclick="alert(determinarValor(document.all['texto'].value));" value="+">
</body>
</html>
En el puedes escribir un texto, luego haces click en '+' y te aparece un 'alert' con el contenido del parentesis, ojo, lo q hace la función determinarValor(t) es buscar la última pareja de '(' y su correspondiente ')'. P.ej.
- Se obtiene prueba si escribes esto es una (prueba)

HA
  #3 (permalink)  
Antiguo 07/08/2006, 07:26
 
Fecha de Ingreso: noviembre-2002
Ubicación: http://localhost/
Mensajes: 195
Antigüedad: 21 años, 6 meses
Puntos: 1
Gracias :D

Mil gracias, ahora mismo lo probare a ver que tal, yo lo habia hecho con indexOf y me habia quedado un disparate, probare con tu funcion, que veo que usa lastIndexOf, que yo la verdad ni sabia que existia, gracias :D te hare saber los resultados
__________________
http://www.ingenierosinc.com
  #4 (permalink)  
Antiguo 07/08/2006, 07:37
 
Fecha de Ingreso: noviembre-2002
Ubicación: http://localhost/
Mensajes: 195
Antigüedad: 21 años, 6 meses
Puntos: 1
si! me funciono, no es justo lo que queria, pero con eso de "lastIndexOf" lo pude modificar y ya me funciona como quiero, mil gracias :D y para si a alguien le interesa la funcion aqui la pongo ya modificada:

Código:
<html>
<script>
function determinarValor(t){
  var i = t.indexOf("(");
  var j = t.lastIndexOf(")");

  return t.substring(i+1,j);
}
</script>
<body>
texto <input name="texto"><input type="button" onclick="alert(determinarValor(determinarValor(document.all['texto'].value)));" value="+">
</body>
</html>
__________________
http://www.ingenierosinc.com
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 00:45.