Artículo
· 16 ene, 2025 Lectura de 1 min

Encontrad valores desde texto y mostradlos

La utilidad devuelve los valores deseados del texto y muestra múltiples valores si existen, basándose en una cadena de inicio y una de fin.

 

Class Test.Utility.FunctionSet Extends %RegisteredObject
{
/// W !,##class(Test.Utility.FunctionSet).ExtractValues("Some random text VALUE=12345; some other VALUE=2345; more text VALUE=345678;","VALUE=",";")

ClassMethod ExtractValues(text As %String, startStr As %String, endStr As %String) As %String
{    //Initialize Variables
   Set values = ""
   Set start = 1
   
   While start '= 0 
   {
      Set start = $Find(text, startStr, start)
      If start = 0 { Quit}
      Set end = $Find(text, endStr, start)
      If end = 0 { Quit}
      Set value = $Extract(text, start, end-$Length(endStr)-1)
     
      IF values '= "" 
      {
        Set values = values _" "_value   
      }
      Else 
      {
        Set values = value   
      }
      Set start = end
   }
   Quit values
} 
}

Output o salida:

Write !,##class(Test.Utility.FunctionSet).ExtractValues("Some random text VALUE=12345; some other VALUE=2345; more text VALUE=345678;","VALUE=",";")

12345 2345 345678

Comentarios (0)1
Inicie sesión o regístrese para continuar