[英]ExtendScript search/replace loop
我正在將ExtendScript
與InDesign一起使用,以進行一些簡單的搜索和替換以更改GREP
。
如果我一一列出,一切都會很好。
app.findGrepPreferences = app.changeGrepPreferences = null;
app.findChangeGrepOptions = NothingEnum.nothing;
app.findGrepPreferences.findWhat = '^~8 ';
app.changeGrepPreferences.changeTo = `~8\\t`;
myDoc.changeGrep();
但是我想整理事情並創建一個循環,該循環運行包含搜索和查找的兩個數組。
var findWhat = [ '^~8 ', '^·( |\\t)', '~S', '^ +', ' +$', ' +', '~P', '^\\t+(?=\\r)', '\\n', '\\r\\r\\r+'];
var changeTo = ['~8\\t','~8\\t',' ', '','',' ','\\r','','\\r','\\r\\r'];
for(var i = 0; i < findWhat.lenght; i++){
app.findGrepPreferences = app.changeGrepPreferences = null;
app.findChangeGrepOptions = NothingEnum.nothing;
app.findGrepPreferences.findWhat = findWhat[i];
app.changeGrepPreferences.changeTo = changeTo[i];
myDoc.changeGrep();
}
這不會給我一個錯誤,但也不會更改任何內容。 有沒有一種方法可以對符號集進行某種錯誤處理,從而為我提供一些信息?
我正在編輯ExtendScript Toolkit
的代碼
我找到了自己的尷尬解決方案。
循環不會循環,因為它不了解lenght
含義。
將其更改為length
,並且可以正常運行……
var findWhat = [ '^~8 ', '^·( |\\t)', '~S', '^ +', ' +$', ' +', '~P', '^\\t+(?=\\r)', '\\n', '\\r\\r\\r+'];
var changeTo = ['~8\\t','~8\\t',' ', '','',' ','\\r','','\\r','\\r\\r'];
for(var i = 0; i < findWhat.length; i++){
app.findGrepPreferences = app.changeGrepPreferences = null;
app.findChangeGrepOptions = NothingEnum.nothing;
app.findGrepPreferences.findWhat = findWhat[i];
app.changeGrepPreferences.changeTo = changeTo[i];
myDoc.changeGrep();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.