Para mucho de nosotros aveces usamos funciones que hacen algo pero no sabemos como , haber
Echelen un ojo a esto..
Le pregunte a IA Gemini..
Esta línea de código en B4X (Basic4android, B4J, B4i) se utiliza para identificar y extraer coordenadas geográficas (latitud y longitud) (* bueno en este caso especifico *) de una cadena de texto que sigue el estándar ISO-6709.
Aquí tienes el desglose detallado de lo que hace cada parte:
Cuando ejecutas el código propuesto por el usuario TILogistic:
Sencilla mente alucinante..


Echelen un ojo a esto..
Le pregunte a IA Gemini..
Esta línea de código en B4X (Basic4android, B4J, B4i) se utiliza para identificar y extraer coordenadas geográficas (latitud y longitud) (* bueno en este caso especifico *) de una cadena de texto que sigue el estándar ISO-6709.
Aquí tienes el desglose detallado de lo que hace cada parte:
1. El objeto Matcher
Dim m As Matcher declara un objeto que se encargará de buscar coincidencias dentro de un texto basándose en un patrón específico. A diferencia de un simple Contains o IndexOf, el Matcher permite extraer partes específicas del texto encontrado (grupos).2. El Patrón Regex: "([+-]\d+\.\d+)"
Este es el "corazón" de la instrucción. Es una Expresión Regular que busca números decimales con signo. Se descompone así:- (...): Los paréntesis crean un Grupo de Captura. Esto permite que, una vez encontrada la coincidencia, puedas extraer solo el valor numérico usando m.Group(1).
- [+-]: Busca un carácter que sea obligatoriamente un signo de más (+) o un signo de menos (-).
- \d+: Busca uno o más dígitos numéricos (la parte entera).
- \.: Busca un punto decimal literal (se pone la barra invertida porque en Regex el punto por sí solo significa "cualquier carácter").
- \d+: Busca uno o más dígitos numéricos (la parte decimal).
3. El funcionamiento en el contexto del foro
En el hilo de B4X Programming Forum que estás consultando, el usuario recibe del video una cadena como esta: "+52.6139-002.1460/"Cuando ejecutas el código propuesto por el usuario TILogistic:
- Primera búsqueda (m.Find): El Matcher encuentra +52.6139. Al llamar a m.Group(1), obtienes la Latitud.
- Segunda búsqueda (m.Find): El Matcher continúa desde donde se quedó y encuentra -002.1460. Al llamar de nuevo a m.Group(1), obtienes la Longitud.
Sencilla mente alucinante..