簡體   English   中英

ExtendScript搜索/替換循環

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM