Foros del Web » Programación para mayores de 30 ;) » RegExp »

RegExp: encontrar numero en cadena

Estas en el tema de RegExp: encontrar numero en cadena en el foro de RegExp en Foros del Web. Encontré una función para extraer un número de una cadena. Sin embargo, corro la función como un script , y obtengo un error. Pueden darme ...
  #1 (permalink)  
Antiguo 27/08/2010, 13:28
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 8 meses
Puntos: 101
RegExp: encontrar numero en cadena

Encontré una función para extraer un número de una cadena. Sin embargo, corro la función como un script, y obtengo un error. Pueden darme una ayuda con esto?

Código:
print(GetNumberFromStr("saved2"));

GetNumberFromStr(string str)
    {
      str = str.Trim();
      Match m = new Regex(@"^[\+\-]?\d*\.?[Ee]?[\+\-]?\d*$", RegexOptions.Compiled).Match(str);
      return (m.Value);
    }
nota: el script es Beanshell

El error en sí es:
Cita:
Sourced file: inline evaluation of: ``return new ToolScript() {void execute(LayoutWindow window) { import java.util.re . . . '' Token Parsing Error: Lexical error at line 9, column 28. Encountered: "\"" (34), after : "@": <at unknown location>
Y me han sugerido que use:
java.util.regex.Pattern

Última edición por mayid; 27/08/2010 a las 13:35
  #2 (permalink)  
Antiguo 27/08/2010, 13:50
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 8 meses
Puntos: 101
Respuesta: RegExp: encontrar numero en cadena

Ok, pude obtener una respuesta booleana:

Cita:
import java.util.regex.Pattern;
import java.util.regex.Matcher;

GetNumberFromStr(String str)
{
Pattern p = Pattern.compile("\\d+");
Matcher m = p.matcher(str);
resp = Boolean.toString(m.matches());
return (resp);
}

print(GetNumberFromStr("saved2"));
Ahora veré la manera de conseguir el numero que estoy buscando!

Etiquetas: encontrar, java, numero, cadenas
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 12:32.