> >Cadena de caracteres__(Seccion)__con otra cadena__(Otra)__ > >>
lcCadenaUsuario = "Cadena de caracteres__(Seccion)__con otra cadena__(Otra)__" local lnInicio, lnFin lnInicio = at("(", lcCadenaUsuario) lnFin = at(")", lcCadenaUsuario) do case case lnInicio = 0 or lnFin = 0 MessageBox("No se encuentran los paréntesis requeridos.") case lnInicio > lnFin MessageBox("Los paréntesis no están en el orden correcto.") otherwise && No hay problema, extraer el string * Extraer, incluyendo paréntesis: lcExtracto = substr(lcCadenaUsuario, lnInicio, lnFin - lnInicio + 1 * o bien, excluyendo paréntesis: * lcExtracto = substr(lcCadenaUsuario, lnInicio + 1, lnFin - lnInicio - 1 ? "El texto extraído es:", lcExtracto endcaseComo no lo probé, es posible que tengas que ajustar ligeramente los cálculos, especialmente los límites de extracción (es decir, de dónde hasta dónde).