17 lines
446 B
Ruby
17 lines
446 B
Ruby
require 'strscan'
|
|
|
|
class StringScanner
|
|
|
|
# scans string until +pattern+ is encountered. If +pattern+ will not be
|
|
# encountered then it returns _nil_ but if +scan_anyway+ is _true_ then
|
|
# it scans until the end of the string.
|
|
def scan_before(pattern, scan_anyway = false)
|
|
if not check_until(pattern) and not scan_anyway then return nil; end
|
|
result = ""
|
|
result << getch until check(pattern) or eos?
|
|
return result
|
|
end
|
|
|
|
end
|
|
|