-
Notifications
You must be signed in to change notification settings - Fork 9
Simple Find And Change Grep
Fabian Morón Zirfas edited this page Jun 13, 2025
·
2 revisions
/*
a basic find and change script not using fc queries
*/
/*
This is the text we are going to change
look at the double white spaces and all that tab return stuff
*/
var the_text_to_change =
"An einem Morgen später Regenfälle\r\t" +
"kam Sierva María de Todos los Ángeles\t\r" +
" im Zeichen des Schützen als Siebenmonatskind\r\t" +
" recht und schlecht auf die Welt.\t\r " +
"\t\tSie erinnerte an eine farblose Kaulquappe\r" +
" \t\tund wäre fast von der um den Hals gewickelten Nabelschnur\r" +
" \t\tstranguliert worden.";
var doc = app.documents.add(); // create a doc
var tf = doc.pages.item(0).textFrames.add({
/* Make a text frame in the first page with that text */
geometricBounds: [12.7, 12.7, 297 - 12.7, 210 - 12.7],
contents: the_text_to_change,
});
app.findGrepPreferences = NothingEnum.nothing; // now empty the find what field!!! that's important!!!
app.changeGrepPreferences = NothingEnum.nothing; // empties the change to field!!! that's important!!!
// some settings
app.findChangeGrepOptions.includeFootnotes = true;
app.findChangeGrepOptions.includeHiddenLayers = false;
app.findChangeGrepOptions.includeLockedLayersForFind = false;
app.findChangeGrepOptions.includeLockedStoriesForFind = true;
app.findChangeGrepOptions.includeMasterPages = true;
var greps = [
{ findWhat: " +", changeTo: " " }, // Find all double spaces and replace with single spaces.
{ findWhat: "\r ", changeTo: "\r" }, // Find all returns followed by a space And replace with single returns.
{ findWhat: " \r", changeTo: "\r" }, // Find all returns preceded by a space and replace with single returns.
{ findWhat: "\t\t+", changeTo: "\t" }, // Find all double tab characters and replace with single tab characters.
{ findWhat: "\r\t", changeTo: "\r" }, // Find all returns followed by a tab character and replace with single returns.
{ findWhat: "\t\r", changeTo: "\r" }, // Find all tabs followed by a return character and replace with single returns.
];
// loop thru the greps object
for (var i = 0; i < greps.length; i++) {
// this is like entering the find what text in the UI
app.findGrepPreferences.findWhat = greps[i].findWhat;
// this is like entering text in the change to
app.changeGrepPreferences.changeTo = greps[i].changeTo;
// and now hit the button
doc.changeGrep();
app.findGrepPreferences = NothingEnum.nothing; // now empty the find what field!!! that's important!!!
app.changeGrepPreferences = NothingEnum.nothing; // empties the change to field!!! that's important!!!
}
// we are doneThis wiki is mostly maintained by:
ff6347
Thanks to:
- JohnDarnell for fixing lots of typos.
- jsp for fixing lots of typos.
- ltfschoen for fixing typos.
- wridgers for adding more links.
- EugenTepin for several improvements.
- vamitul for improvements.
- abandonedbywolves for adding an example.
- Travis Weston
- Andy Dayton
Thanks to the students from my seminars for asking all those questions and making me start this wiki.
- adinaradke
- AnitaMei
- ce0311
- coerv
- felixharle
- FerdinandP
- Flave
- marche
- monkian
- natael
- OliverMatelowski
- PDXIII
- praktischend
- schlompf
- skaim
You are awesome.
- Arrays
- Classes
- Comments
- Conditionals
- Functions
- Inspect Properties
- Loops
- Objects
- Output And Interaction
- Recursive Functions
- Inspect Properties
- Variables And Operations
- Extended JavaScript Guide
- Bridge Talk
- Create And Read Files
- Executing Shell Commands
- ExtendScript Toolkit
- File
- Folder
- Includes JSX
- Object Watch
- Read CSV
- Read In JSON From File And DONT Eval
- Storing Data In A Target Engine
- Target an application
- XML
- Isolate Layers With the Shy Setting
- Layer Duration Change
- Render And System Call
- Rename Layers
- SourceText to Keyframes from Array
- SourceText
- System Call
- app
- Colorbrewer
- ColorGroups
- Colors And Swatches
- Delay And View
- Dialogs
- Documents
- Duplicate And Transform
- Event AfterSave
- Export IDML
- ExtendScript in InDesign Scripting DOM
- Fonts
- GeometricBounds and Coordinates
- Get named pageItems
- Graphic Lines
- Groups
- HSL Color Wheel
- Images
- Includes
- InsertionPoints
- Layers
- Line Feeds And Carrige Returns
- Locked PageItems
- loops vs everyItem
- Masterspreads
- Matrix
- Objectstyles
- Outlines Groups Alignment
- Pages And Margins
- Pathfinder
- Placeholder Text
- Rectangles Ovals Polygons
- RulerOrigin
- Scripting Labels
- Select words at insertionPoint
- Simple Find And Change Grep with FC Query
- Simple Find And Change Grep
- Simple Find And Change Text
- Spiro
- Styles
- Table Cells
- Text Analysis ID FC
- Text Analysis
- Text Find Locations
- Text
- Transformation Matricies
- TransparencySettings
- XML creation and import