module AnyStyle::StringUtils
Public Instance Methods
canonize(string)
click to toggle source
# File lib/anystyle/utils.rb 24 def canonize(string) 25 scrub(transliterate(string)).downcase 26 end
count(string, pattern)
click to toggle source
# File lib/anystyle/utils.rb 48 def count(string, pattern) 49 string.to_enum(:scan, pattern).inject(0) { |c| c + 1 } 50 end
display_chars(string)
click to toggle source
# File lib/anystyle/utils.rb 40 def display_chars(string) 41 string 42 .gsub(/\t/, ' ') 43 .gsub(/\p{Mn}|\p{Me}|\p{Cc}/, '') 44 .gsub(/\p{Zs}/, ' ') 45 .rstrip 46 end
display_width(string)
click to toggle source
# File lib/anystyle/utils.rb 36 def display_width(string) 37 display_chars(string).length 38 end
indent(token)
click to toggle source
# File lib/anystyle/utils.rb 52 def indent(token) 53 display_chars(token)[/^(\s*)/].length 54 end
nnum(string, symbol = '
click to toggle source
# File lib/anystyle/utils.rb 28 def nnum(string, symbol = '#') 29 string.unicode_normalize.gsub(/\d/, symbol) 30 end
page_break?(string)
click to toggle source
# File lib/anystyle/utils.rb 32 def page_break?(string) 33 string =~ /\f/ 34 end
scrub(string, blacklist: /[\p{^Alnum}\p{Lm}]/)
click to toggle source
# File lib/anystyle/utils.rb 14 def scrub(string, blacklist: /[\p{^Alnum}\p{Lm}]/) 15 string.scrub.gsub(blacklist, '') 16 end
strip_html(string)
click to toggle source
# File lib/anystyle/utils.rb 56 def strip_html(string) 57 string 58 .gsub(/<\/?(italic|i|strong|b|span|div)(\s+style="[^"]+")?>/i, '') 59 end
transliterate(string, form: :nfkd)
click to toggle source
# File lib/anystyle/utils.rb 18 def transliterate(string, form: :nfkd) 19 string 20 .unicode_normalize(form) 21 .gsub(/\p{Mark}/, '') 22 end