InDesign: cómo eliminar todo lo que está entre corchetes

Tengo una secuencia de comandos para encontrar todos los marcos de texto en un documento y hago una expresión regular para eliminar (si contiene) todo el texto entre corchetes.

Por ejemplo, el marco de texto puede contener:

"Lorem ipsum dolor sit amet, consectetur adipiscing elit [prueba] Lorem ipsum dolor sit amet, consectetur adipiscing elit [prueba2]"

He escrito el siguiente script para encontrar todo el contenido de los marcos de texto y luego reemplazarlos usando expresiones regulares, pero solo hace 1 por marco de texto y no se aplica a todos

Si ejecuto el siguiente script, se deshace de [test] pero no de [test2]

var myFrames = app.activeDocument.textFrames;

for (var i = 0; i<myFrames.length; i++) {
   var myFrame = myFrames[i];
   var string = myFrame.contents;
   var string2 = string.replace(/ *\[[^\]]*]/, '');
   myFrame.contents = string2;
}
No estoy muy familiarizado con Indesign, por lo que pensé que un script sería la mejor idea. ¿Cómo uso GREP buscar/cambiar para eliminar todo lo que está entre corchetes? ¡Gracias!

Respuestas (1)

No es necesario escribir esto, solo

  • presione Ctrl+ Fy cambie a la pestaña 'GREP'
  • escriba \[[^]]*\]en el campo 'Buscar qué'
  • o escriba lo mismo con un \s?agregado al frente para eliminar también cualquier espacio en blanco anterior, de lo contrario, se quedará con espacios dobles. así que eso es\s?\[[^]]*\]
  • asegúrese de que el campo 'Cambiar a' esté vacío
  • haga clic en 'Cambiar todo'

ingrese la descripción de la imagen aquí