|
def tokenize(string, sep, esc)
|
|
sep = Regexp.escape(sep)
|
|
esc = Regexp.escape(esc)
|
|
string.scan(/\G (?:^ | #{sep}) (?: [^#{sep}#{esc}] | #{esc} .)*/x).collect do |m|
|
|
m.gsub(/#{esc}(.)/, '\1').gsub(/^#{sep}/, '')
|
|
end
|
|
end
|
|
|
|
p tokenize('one^|uno||three^^^^|four^^^|^cuatro|', '|', '^')
|