A Crystal library for working with various character sets, recognizing text and generating random text from specific character sets.
MIT License
Chars is a Crystal library for working with various character sets, recognizing text and generating random text from specific character sets. Ported from the chars.rb ruby library.
0
- 9
0
- 7
0
- 9
, A
- F
0
- 9
, a
- f
0
- 9
, a
- f
, A
- F
A
- Z
a
- z
a
- z
, A
- Z
0
- 9
, a
- z
, A
- Z
' '
, '
, "
, `
, ,
, ;
, :
, ~
, -
, (
, )
, [
, ]
, {
, }
, .
, ?
, !
' '
, '
, "
, `
, ,
, ;
, :
, ~
, -
, (
, )
, [
, ]
, {
, }
, .
, ?
, !
, @
, #
, $
, %
, ^
, &
, *
, _
, +
, =
, |
, \
, <
, >
, /
' '
, \f
, \n
, \r
, \t
, \v
0
- 9
, a
- z
, A
- Z
, '
, "
, `
, ,
, ;
, :
, ~
, -
, (
, )
, [
, ]
, {
, }
, .
, ?
, !
, @
, #
, $
, %
, ^
, &
, *
, _
, +
, =
, |
, \
, <
, >
, /
0
- 9
, a
- z
, A
- Z
, ' '
, '
, "
, `
, ,
, ;
, :
, ~
, -
, (
, )
, [
, ]
, {
, }
, .
, ?
, !
, @
, #
, $
, %
, ^
, &
, *, _, +
, =
, |
, \
, <
, >
, /
, \f
, \n
, \r
, \t
, \v
\x00
- \x1f
, \x7f
\x00
- \x7f
\x00
- \xff
Determine whether a byte belongs to a character set:
0x41.alpha?
# => true
Determine whether a String belongs to a character set:
"22e1c0".hex?
# => true
Find all sub-strings that belong to a character set within a String:
ls = File.read("/bin/ls")
Chars.printable.substrings(ls)
# => ["/lib64/ld-linux-x86-64.so.2", "KIq/", "5J~!", "%L~!", ...]
Return a random character from the set of all characters:
Chars.all.random_char
# => "\x94"
Return a random Array of characters from the alpha-numeric character set:
Chars.alpha_numeric.random_chars(10)
# => ["Q", "N", "S", "4", "x", "z", "3", "M", "F", "F"]
Return a random Array of a random length of unique characters from the visible character set:
Chars.visible.random_distinct_chars(1..10)
# => ["S", "l", "o", "8", "'", "q"]
Return a random String from the set of all characters:
Chars.all.random_string(10)
# => "\xc2h\xad\xccm7\x1e6J\x13"
Return a random String with a random length between 5 and 10, from the set of space characters:
Chars.space.random_string(5..10)
# => "\r\v\n\t\n\f"
Add the dependency to your shard.yml
:
dependencies:
chars:
github: postmodern/chars.cr
Run shards install
git checkout -b my-new-feature
)git commit -am 'Add some feature'
)git push origin my-new-feature
)