Remplazar texto por arguments
Hola a todos,
Me pregunto si existe algún comando o método para remplazar un texto usando parámetros.
En C#, uso la propiedad Format
var text = string.format("My name is {0} and I'm {1} years","Kurro","18")
// The value of text will be "My name is Kurro and I'm 18 years"He intentado este código... pero solo funciona para los parámetros específicos.
set text = "My name is {0}, and I'm {1} years"write$Replace($Replace(text,"{0}","Kurro"),"{1}",18)¿Es posible hacer algo para más argumentos?, quiero decir, usarlo para un indeterminado número de argumentos
Saludos
Product version: IRIS 2021.1
$ZV: IRIS for Windows (x86-64) 2021.1 (Build 215U) Wed Jun 9 2021 09:39:22 EDT
Comentarios (1)0
Comments
Voy a poner la respuesta que me han dado en el grupo general y que es una solución muy buena. Muchas gracias @Julian Matthews
Hola Kurro.
No estoy seguro de una función incorporada para esto, pero si quisieras tener la tuya propia:
Class Demo.FunctionSets.Example
{
ClassMethod Format(InputString As%String, Params... As%String) As%String
{
Set OutputString = InputString
For i = 1 : 1 : $GET(Params, 0){
Set OutputString = $Replace(OutputString,"{"_i_"}",Params(i))
}
Quit OutputString
}
}Y entonces:
Write ##Class(Demo.FunctionSets.example).Format("My name is {1} and I'm {2} years","Kurro","18")My name is Kurro and I'm 18 yearsPodeis ver la respuesta original en el siguiente enlace