mirror of
https://github.com/hkalexling/Mango.git
synced 2026-01-24 00:03:14 -05:00
Simplify the split_by_alphanumeric function
This commit is contained in:
25
src/util.cr
25
src/util.cr
@@ -38,29 +38,10 @@ def is_numeric(str)
|
||||
end
|
||||
|
||||
def split_by_alphanumeric(str)
|
||||
is_number = false
|
||||
arr = [] of String
|
||||
arr.push(
|
||||
str.split("").reduce("") do |memo, c|
|
||||
if (is_number)
|
||||
if is_numeric(c)
|
||||
memo + c
|
||||
else
|
||||
arr.push(memo) if memo != ""
|
||||
is_number = false
|
||||
c
|
||||
end
|
||||
else
|
||||
if is_numeric(c) # number
|
||||
arr.push(memo) if memo != ""
|
||||
is_number = true
|
||||
c
|
||||
else
|
||||
memo + c
|
||||
end
|
||||
end
|
||||
end
|
||||
)
|
||||
str.scan(/([^\d\n\r]*)(\d*)([^\d\n\r]*)/) do |match|
|
||||
arr += match.captures.select{|s| s != ""}
|
||||
end
|
||||
arr
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user