Si dentro de la cadena alfanumérica se desea incluir una comilla
simple (que se trataría como carácter especial), como regla general y
para que no se produzca conflicto ninguno, se le debería anteponer
otra comilla simple.
Ahí van algunos ejemplos:
-* Comilla simple intermedia. DM.
-SET &VAR = 'Mc Donald''s' ;
-TYPE &VAR
-* Comilla simple intermedia. DEFINE/COMPUTE.
TABLE FILE CAR
PRINT
COUNTRY
COMPUTE CAMPO/A16 = 'Mc Donald''s' ;
END
-* Comillas simples al principio y al final. DM.
-SET &VAR = '''McDonald''s''' ;
-TYPE &VAR
-* Comillas simples al principio y al final. DEFINE/COMPUTE.
TABLE FILE CAR
PRINT
COUNTRY
COMPUTE CAMPO/A16 = 'Mc Donald''s' ;
END
-* Concatenación de comillas simples. DM.
-SET &VAR = '''' | 'Mc Donald' || '''' || 's' || '''' ;
-TYPE &VAR
-* Concatenación de comillas simples. DEFINE/COMPUTE.
TABLE FILE CAR
PRINT
COUNTRY
COMPUTE CAMPO/A16 = '''' | 'Mc Donald' || '''' || 's' || '''' ;
END
Situación especial es que la cadena con comilla simple se envíe desde
una página html; Una solución válida para este caso consistiría en
que, antes de enviar parámetros, reemplazar mediante expresiones
regulares javascript, todas las posibles comillas simples por dobles
comillas simples:
parms = parms.replace(/\'/gi, '\'\'') ;