Usar conversión base
Esta respuesta fue a una pregunta que quería arte ASCII que consistía en los personajes + |-
y las nuevas líneas. Como solo hay 5 caracteres posibles, estos pueden tratarse como un número base 5 y convertirse en bytes, con 3.45 caracteres por byte.
Explotar regularidades
A menudo, los datos tendrán algunas regularidades, incluso si esas regularidades no son lo suficientemente fuertes como para emplear herramientas específicas como la duplicación. Por ejemplo, en la pregunta anterior, el resultado deseado tenía líneas nuevas espaciadas aproximadamente de manera uniforme a lo largo de la prueba, ya que el texto era aproximadamente rectangular. Exploté esto para acortar mi código, usando la función dividir en n piezas de Pyth, luego uniéndome en nuevas líneas.
Conozca sus herramientas y elija la correcta para el trabajo.
Las herramientas de procesamiento de texto más potentes y eficientes que conozco son:
Motores Regex: ///
Retina, Perl, en orden de compensación de potencia / concisión.
Úselo si lo que quiere hacer puede describirse de manera concisa en sustituciones de expresiones regulares, como esta respuesta
Herramientas oscuras de procesamiento de texto: gema, etc. (estoy seguro de que hay otras, pero son demasiado oscuras)
Úselo si tienen una función que es exactamente lo que necesita, que nada más tiene. Como en esta pregunta , con la coincidencia recursiva de gema.
Lenguajes de golf de código general: CJam, Pyth, etc.
Úselo si está explotando alguna sutileza lo suficientemente compleja como para que ninguna otra herramienta haga el trabajo o simplemente haga el trabajo más corto.
Prueba muchos enfoques
Esto se aplica en todas las preguntas de código de golf, pero especialmente aquí. No vas a saber si una regularidad es explotable hasta que la pruebes. Posiblemente en varios idiomas.