Page 1 of 1
Searching for blank line in .txt file with ^$
Posted: Wed Apr 19, 2006 1:20 am
by BradMarshall
I am editing a .txt file under Windows XP Pro. I have blank lines in my file (0D.0A in the hex dump, as I would expect). A search for ^$ wirh regular expressions enabled does not find the blank line. Searches including \n or \r do not return results anywhere in the file. A search for ^.*$ will find any non-blank line.
Why isn't my search on ^$ finding the blank line?
Posted: Wed Apr 19, 2006 4:48 am
by jussij
Hi Brad,
A search for ^$ with regular expressions enabled does not find the blank line.
Unfortunately it looks like you have found a bug with the Zeus searching engine
I suspect this bug will be a fairly easy to fix so with any luck, expect to see a new Zeus patch in the the next week or two
Searches including \n or \r do not return results anywhere in the file
Currently there is no way to search for the
\n or
\r characters. This is a known limitation of the Zeus search engine
In the mean time, the only other solution I can suggest is using a Zeus macro to do the search. As an example of what I mean, here is a quick and dirty macro that finds the next blank line in the current document.
Code: Select all
function key_macro()
-- macro only works for documents
local document = is_document()
if (document == 0) then
-- can't run astyle.exe on current document
message("This macro can only be run with an open document.")
beep()
return
end
local line_current = get_line_pos()
-- get the length of the current line
local len = string.len(get_line_text(line_current))
if len == 0 then
-- check if the file was found last time
local line_last = get_global_string("LineSearch")
if (line_last ~= nil) then
if (line_current == tonumber(line_last)) then
line_current = line_current + 1
end
end
end
local line_total = get_line_count()
-- search the current file for the empty lines
while line_current < line_total do
-- get the length of the current line
local len = string.len(get_line_text(line_current))
if len == 0 then
-- place the cursor on the empty line
set_line_pos(line_current, 0)
-- save the last line found to the global variable
set_global_string("LineSearch", line_current)
message("Found an empty line.")
return
end
-- next line
line_current = line_current + 1
end
-- reset the global variable
set_global_string("LineSearch", "")
message("No empty line found.")
end
key_macro() -- run the macro
Thank you for taking the time to posting this bug report
Cheers Jussi
Searching for blank line in .txt file with ^$
Posted: Wed Apr 19, 2006 9:29 am
by BradMarshall
Thanks, Jussi. I'll keep a sharp eye out for the patch.
Posted: Sun Apr 23, 2006 11:40 pm
by jussij
Why isn't my search on ^$ finding the blank line?
The latest Zeus patch found here:
http://www.zeusedit.com/forum/viewtopic.php?t=533
can now search for the
^$ regular expression.
Cheers Jussi
Thanks!
Posted: Thu Apr 27, 2006 12:23 pm
by BradMarshall
Thanks for taking care of this, Jussij.
Best regards,
Brad