¿Cómo se usa el sustituto de secuencias de escape en comillas dobles?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />¿Cómo sustituir una "secuencia de escape" literal dentro de una cadena entre comillas dobles? El problema que tengo es que JMP siempre quiere evaluar la "secuencia de escape" y no darme su representación literal de caracteres:
Cadena de origen:
myStr = "C: \ temp \ myfile.csv";
Lo que quiero:
myStr = "C: \! \ temp \! \ myfile.csv";
Los siguientes métodos no funcionan o al menos no aparecen, así que cuando los verifico en la ventana de Registro (pregunto, ¿tal vez mi problema sea que la ventana de Registro siempre se evalúa?):
myStr = Sustituto (myStr, "\", "\! \"); ==> no funciona, ya que evalúa "\! \" y lo convierte de nuevo en "\"
myStr = Sustituto (myStr, "\", "\" || "!" || "\"); ==> no funciona porque evalúa esto nuevamente y me da el doble de "\! \" esencialmente
¿Algunas ideas? --DJ
Re: ¿Cómo usar sustituto para secuencias de escape en comillas dobles?Para evitar evaluar los caracteres escapados, el escape mismo debe escaparse de alguna manera.
Tienes razón, la salida del registro puede ser confusa. Ejecute este código y compare las formas en que el registro y la ventana presentan las cadenas:
MyStr = "C: \ temp \ myfile.csv" ;
nuevoStr1 = Sustituir ( MyStr , "\" , "\! \" ) ;
nuevoStr2 = Sustituir ( MyStr , "\" , "\ [\! \] \" ) ; // "Escapa de la fuga" "
// El registro evalúa cadenas; newStr2 se ve raro en el registro debido a la "fuga de escape"
Show ( nuevoStr1 , nuevoStr2 ) ;
// sin embargo, en otro contexto, newStr2 muestra su valor real, ¿o no?
noroeste = Nueva ventana ( "myStr" , Caja de cadena col ( "nuevas cuerdas" , { nuevoStr1 , nuevoStr2 } ) ) ;
Re: ¿Cómo usar sustituto para secuencias de escape en comillas dobles?No puedo probar esto, ya que no tengo JMP, pero intentaría un enfoque de dos pasos:
myStr = Sustituto (myStr, "\", "\! \");
myStr = Sustituto (myStr, "!", '!');
Buena suerte.