在文本文件中搜索单词
Searching word in a text file
如何通过这段代码减少时间?
TE是包含我的文本的变量(包含20000多行)
s 是我的搜索词。
repeat with x = 0 to the number of lines in TE
if line x of TE contains s then
put line x-1 of TE & cr & line x of TE & cr & line x+1 of TE & cr & cr after dataarray
end if
end repeat
这段代码工作正常,但它花费了太多时间。
如何减少时间?
尽量避免使用 repeat with
语法。相反,使用 repeat for each
语法:
put 0 into myLineNr
repeat for each line myLine in myData
// update counter
add 1 to myLineNr
if myLine contains mySearchString then
// store data in new variable
put line myLineNr - 1 of myData & cr & myLine & cr & line myLineNr + 1 of myData & cr & cr after myNewData
end if
end repeat
我已更改脚本以允许重复行。这需要一个计数器,但使用计数器仍然比使用 repeat with
控制结构更快。
如何通过这段代码减少时间? TE是包含我的文本的变量(包含20000多行) s 是我的搜索词。
repeat with x = 0 to the number of lines in TE
if line x of TE contains s then
put line x-1 of TE & cr & line x of TE & cr & line x+1 of TE & cr & cr after dataarray
end if
end repeat
这段代码工作正常,但它花费了太多时间。 如何减少时间?
尽量避免使用 repeat with
语法。相反,使用 repeat for each
语法:
put 0 into myLineNr
repeat for each line myLine in myData
// update counter
add 1 to myLineNr
if myLine contains mySearchString then
// store data in new variable
put line myLineNr - 1 of myData & cr & myLine & cr & line myLineNr + 1 of myData & cr & cr after myNewData
end if
end repeat
我已更改脚本以允许重复行。这需要一个计数器,但使用计数器仍然比使用 repeat with
控制结构更快。