I've just published my AHK 2 library strung.ahk on GitHub: https://github.com/joshuacc/strung.ahk
It features 42 utility methods (See list below) as well as the ability to use either a static or chaining API. For full usage details as well as examples, see the GitHub link above.
Static methods example:
Code: Select all
str := Strung.truncate("abcdefg", 3)
str := Strung.toUpperCase(str)
str := Strung.surround(str, "~")
; str == "~ABC~"
Code: Select all
str := Strung("abcdefg")
.truncate(3)
.toUpperCase()
.surround("~")
.value()
; str == "~ABC~"
- Strung.at(str, index)
- Strung.concat(str, others*)
- Strung.endsWith(str, suffix)
- Strung.contains(str, search)
- Strung.includes(str, search)
- Strung.indexOf(str, search, fromIndex := 1)
- Strung.lastIndexOf(str, search)
- Strung.padEnd(str, targetLength, padString := " ")
- Strung.rightPad(str, targetLength, padString := " ")
- Strung.padStart(str, targetLength, padString := " ")
- Strung.leftPad(str, targetLength, padString := " ")
- Strung.repeat(str, count)
- Strung.replace(str, search, replacement)
- Strung.replaceAll(str, search, replacement)
- Strung.search(str, regex)
- Strung.slice(str, start, end := StrLen(str))
- Strung.split(str, separator, limit := 0, mode := "string")
- Strung.startsWith(str, prefix)
- Strung.toUpperCase(str)
- Strung.trim(str)
- Strung.chop(str, length)
- Strung.consolidateSpaces(str)
- Strung.toArray(str)
- Strung.chars(str)
- Strung.swapCase(str)
- Strung.count(str, search)
- Strung.length(str)
- Strung.insert(str, index, insert)
- Strung.isBlank(str)
- Strung.join(separator, strs*)
- Strung.linesToArray(str)
- Strung.lineCount(str)
- Strung.reverse(str)
- Strung.titleCase(str)
- Strung.truncate(str, length, truncateStr := "")
- Strung.wordsToArray(str)
- Strung.wordCount(str)
- Strung.surround(str, surround)
- Strung.quote(str, q := '"')
- Strung.unquote(str, q := '"')
- Strung.toBoolean(str)
- Strung.map(str, mapper)