Skip to content

Instantly share code, notes, and snippets.

@zo0m
Created January 26, 2016 11:24
Show Gist options
  • Select an option

  • Save zo0m/86916ffa98527d8ec0c1 to your computer and use it in GitHub Desktop.

Select an option

Save zo0m/86916ffa98527d8ec0c1 to your computer and use it in GitHub Desktop.
SQLITE Collation workaround for search
searchString = "hello z World!"
joinWordsToSearch = (words)->words.join(".{0,5}")
getModifiedWords = (words, modificator)->
modifiedWords = words.slice()
modifiedWords[i] = modificator(word) for word, i in modifiedWords
modifiedWords
getRegexpSearchString = (queryString = "")->
if queryString < 3
return
rawWords = queryString.split(" ")
words = []
words.push(word) for word in rawWords when word
searchStrings = []
modificators = [
(word)-> word
(word)-> word.toLowerCase()
(word)-> word.toUpperCase()
(word)-> word.charAt(0).toUpperCase() + word.slice(1)
]
for modificator in modificators
searchStrings.push joinWordsToSearch getModifiedWords words, modificator
"(#{searchStrings.join "|" })"
console.log "getRegexpSearchString : #{JSON.stringify getRegexpSearchString searchString}"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment