{"id":13822536,"url":"https://github.com/a-merezhanyi/voca_rs","last_synced_at":"2026-03-17T22:03:52.044Z","repository":{"id":42530238,"uuid":"142789096","full_name":"a-merezhanyi/voca_rs","owner":"a-merezhanyi","description":"Voca_rs is the ultimate Rust [unicode] string library, implemented as independent functions and on Foreign Types (String and str).","archived":false,"fork":false,"pushed_at":"2022-11-10T22:10:48.000Z","size":3733,"stargazers_count":185,"open_issues_count":2,"forks_count":12,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-12-14T05:07:31.749Z","etag":null,"topics":["rust","string","string-formatter","string-manipulation","string-matching","unicode","utf-8","utf8"],"latest_commit_sha":null,"homepage":"https://crates.io/crates/voca_rs","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/a-merezhanyi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-07-29T19:19:47.000Z","updated_at":"2025-08-20T07:01:04.000Z","dependencies_parsed_at":"2022-08-30T14:41:27.889Z","dependency_job_id":null,"html_url":"https://github.com/a-merezhanyi/voca_rs","commit_stats":null,"previous_names":[],"tags_count":24,"template":false,"template_full_name":null,"purl":"pkg:github/a-merezhanyi/voca_rs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/a-merezhanyi%2Fvoca_rs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/a-merezhanyi%2Fvoca_rs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/a-merezhanyi%2Fvoca_rs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/a-merezhanyi%2Fvoca_rs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/a-merezhanyi","download_url":"https://codeload.github.com/a-merezhanyi/voca_rs/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/a-merezhanyi%2Fvoca_rs/sbom","scorecard":{"id":157761,"data":{"date":"2025-08-11","repo":{"name":"github.com/a-merezhanyi/voca_rs","commit":"61a2f2c87c31d0f448e1a23901a4aa9a9ceffd65"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.3,"checks":[{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":2,"reason":"Found 4/20 approved changesets -- score normalized to 2","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE.md:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 14 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T12:20:30.676Z","repository_id":42530238,"created_at":"2025-08-16T12:20:30.676Z","updated_at":"2025-08-16T12:20:30.676Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30633238,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-17T17:32:55.572Z","status":"ssl_error","status_checked_at":"2026-03-17T17:32:38.732Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["rust","string","string-formatter","string-manipulation","string-matching","unicode","utf-8","utf8"],"created_at":"2024-08-04T08:02:04.995Z","updated_at":"2026-03-17T22:03:52.027Z","avatar_url":"https://github.com/a-merezhanyi.png","language":"Rust","funding_links":[],"categories":["Rust"],"sub_categories":[],"readme":"# voca_rs\n\n[![Crates version](https://img.shields.io/crates/v/voca_rs.svg)](https://crates.io/crates/voca_rs)\n[![dependency status](https://deps.rs/crate/voca_rs/1.15.2/status.svg)](https://deps.rs/crate/voca_rs/1.15.2)\n[![Build Status](https://app.travis-ci.com/a-merezhanyi/voca_rs.svg?branch=master)](https://app.travis-ci.com/a-merezhanyi/voca_rs)\n[![codecov](https://codecov.io/gh/a-merezhanyi/voca_rs/branch/master/graph/badge.svg?token=uSEi0L8ivo)](https://codecov.io/gh/a-merezhanyi/voca_rs)\n[![license](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)\n\n**Voca_rs is a Rust library for manipulating [unicode] strings.**\n\nVoca_rs is implemented on Foreign Types, i.e. `String` and `str`. Respects Unicode.\n\nVoca_rs is inspired by [Voca.js](https://vocajs.com/) (JavaScript), [string.py](https://docs.python.org/3.4/library/string.html) (Python), [Inflector](https://github.com/whatisinternet/inflector) (Rust), and [Grafite](https://docs.grafite.ca/utilities/helpers/) (PHP).\n\n## TL;DR\n\nUsing functions:\n\n```rust\nuse voca_rs::*;\n\nlet input_string = \"LazyLoad with XMLHttpRequest and snake_case\";\nlet string_in_words = split::words(\u0026input_string);\n// =\u003e [\"Lazy\", \"Load\", \"with\", \"XML\", \"Http\", \"Request\", \"and\", \"snake\", \"case\"]\nlet words_in_string = \u0026string_in_words.join(\" \");\n// =\u003e \"Lazy Load with XML Http Request and snake case\"\nlet truncated_string = chop::prune(\u0026words_in_string, 21, \"\");\n// =\u003e \"Lazy Load with XML...\"\nlet sliced_string = chop::slice(\u0026truncated_string, 5, -2);\n// =\u003e \"Load with XML.\"\nlet snaked_string = case::snake_case(\u0026sliced_string);\n// =\u003e \"load_with_xml\"\n```\n\nUsing traits (all methods start from the underscore symbol):\n\n```rust\nuse voca_rs::Voca;\n\n\"LazyLoad with XMLHttpRequest and snake_case\"\n._words()\n// =\u003e [\"Lazy\", \"Load\", \"with\", \"XML\", \"Http\", \"Request\", \"and\", \"snake\", \"case\"]\n.join(\" \")\n// =\u003e \"Lazy Load with XML Http Request and snake case\"\n._prune(21, \"\")\n// =\u003e \"Lazy Load with XML...\"\n._slice(5, -2)\n// =\u003e \"Load with XML.\"\n._snake_case();\n// =\u003e \"load_with_xml\"\n```\n\n## Documentation\n\nSee the complete documentation at \u003chttps://docs.rs/voca_rs/\u003e\n\nRun tests: `cargo test`\u003cbr\u003e\nBuild docs: `cargo doc` -\u003e `./target/doc/voca_rs/index.html` \u003cbr\u003e\nBuild a project: `cargo build` -\u003e `./target/debug`\n\n## Functions\n\n### Case\n\n- [camel_case](https://docs.rs/voca_rs/*/voca_rs/case/fn.camel_case.html)\n- [capitalize](https://docs.rs/voca_rs/*/voca_rs/case/fn.capitalize.html)\n- [decapitalize](https://docs.rs/voca_rs/*/voca_rs/case/fn.decapitalize.html)\n- [kebab_case](https://docs.rs/voca_rs/*/voca_rs/case/fn.kebab_case.html)\n- [lower_case](https://docs.rs/voca_rs/*/voca_rs/case/fn.lower_case.html)\n- [lower_first](https://docs.rs/voca_rs/*/voca_rs/case/fn.lower_first.html)\n- [pascal_case](https://docs.rs/voca_rs/*/voca_rs/case/fn.pascal_case.html)\n- [shouty_kebab_case](https://docs.rs/voca_rs/*/voca_rs/case/fn.shouty_kebab_case.html)\n- [shouty_snake_case](https://docs.rs/voca_rs/*/voca_rs/case/fn.shouty_snake_case.html)\n- [snake_case](https://docs.rs/voca_rs/*/voca_rs/case/fn.snake_case.html)\n- [swap_case](https://docs.rs/voca_rs/*/voca_rs/case/fn.swap_case.html)\n- [title_case](https://docs.rs/voca_rs/*/voca_rs/case/fn.title_case.html)\n- [train_case](https://docs.rs/voca_rs/*/voca_rs/case/fn.train_case.html)\n- [upper_case](https://docs.rs/voca_rs/*/voca_rs/case/fn.upper_case.html)\n- [upper_first](https://docs.rs/voca_rs/*/voca_rs/case/fn.upper_first.html)\n\n### Chop\n\n- [after](https://docs.rs/voca_rs/*/voca_rs/chop/fn.after.html)\n- [after_last](https://docs.rs/voca_rs/*/voca_rs/chop/fn.after_last.html)\n- [before](https://docs.rs/voca_rs/*/voca_rs/chop/fn.before.html)\n- [before_last](https://docs.rs/voca_rs/*/voca_rs/chop/fn.before_last.html)\n- [char_at](https://docs.rs/voca_rs/*/voca_rs/chop/fn.char_at.html)\n- [code_point_at](https://docs.rs/voca_rs/*/voca_rs/chop/fn.code_point_at.html)\n- [first](https://docs.rs/voca_rs/*/voca_rs/chop/fn.first.html)\n- [foreign_key](https://docs.rs/voca_rs/*/voca_rs/case/fn.foreign_key.html)\n- [grapheme_at](https://docs.rs/voca_rs/*/voca_rs/chop/fn.grapheme_at.html)\n- [last](https://docs.rs/voca_rs/*/voca_rs/chop/fn.last.html)\n- [limit_words](https://docs.rs/voca_rs/*/voca_rs/chop/fn.limit_words.html)\n- [max](https://docs.rs/voca_rs/*/voca_rs/chop/fn.max.html)\n- [min](https://docs.rs/voca_rs/*/voca_rs/chop/fn.min.html)\n- [prune](https://docs.rs/voca_rs/*/voca_rs/chop/fn.prune.html)\n- [removeprefix](https://docs.rs/voca_rs/*/voca_rs/chop/fn.removeprefix.html)\n- [removesuffix](https://docs.rs/voca_rs/*/voca_rs/chop/fn.removesuffix.html)\n- [slice](https://docs.rs/voca_rs/*/voca_rs/chop/fn.slice.html)\n- [substr](https://docs.rs/voca_rs/*/voca_rs/chop/fn.substr.html)\n- [substring](https://docs.rs/voca_rs/*/voca_rs/chop/fn.substring.html)\n- [truncate](https://docs.rs/voca_rs/*/voca_rs/chop/fn.truncate.html)\n\n### Count\n\n- [count](https://docs.rs/voca_rs/*/voca_rs/count/fn.count.html)\n- [count_graphemes](https://docs.rs/voca_rs/*/voca_rs/count/fn.count_graphemes.html)\n- [count_substrings](https://docs.rs/voca_rs/*/voca_rs/count/fn.count_substrings.html)\n- [count_unique_words](https://docs.rs/voca_rs/*/voca_rs/count/fn.count_unique_words.html)\n- [count_where](https://docs.rs/voca_rs/*/voca_rs/count/fn.count_where.html)\n- [count_words](https://docs.rs/voca_rs/*/voca_rs/count/fn.count_words.html)\n\n### Escape\n\n- [escape_html](https://docs.rs/voca_rs/*/voca_rs/escape/fn.escape_html.html)\n- [escape_regexp](https://docs.rs/voca_rs/*/voca_rs/escape/fn.escape_regexp.html)\n- [unescape_html](https://docs.rs/voca_rs/*/voca_rs/escape/fn.unescape_html.html)\n\n### Index\n\n- [index_all](https://docs.rs/voca_rs/*/voca_rs/index/fn.index_all.html)\n- [index_of](https://docs.rs/voca_rs/*/voca_rs/index/fn.index_of.html)\n- [last_index_of](https://docs.rs/voca_rs/*/voca_rs/index/fn.last_index_of.html)\n- [search](https://docs.rs/voca_rs/*/voca_rs/index/fn.search.html)\n\n### Manipulate\n\n- [expand_spaces](https://docs.rs/voca_rs/*/voca_rs/manipulate/fn.expand_spaces.html)\n- [expand_tabs](https://docs.rs/voca_rs/*/voca_rs/manipulate/fn.expand_tabs.html)\n- [finish](https://docs.rs/voca_rs/*/voca_rs/manipulate/fn.finish.html)\n- [insert](https://docs.rs/voca_rs/*/voca_rs/manipulate/fn.insert.html)\n- [latinise](https://docs.rs/voca_rs/*/voca_rs/manipulate/fn.latinise.html)\n- [pad](https://docs.rs/voca_rs/*/voca_rs/manipulate/fn.pad.html)\n- [pad_left](https://docs.rs/voca_rs/*/voca_rs/manipulate/fn.pad_left.html)\n- [pad_right](https://docs.rs/voca_rs/*/voca_rs/manipulate/fn.pad_right.html)\n- [repeat](https://docs.rs/voca_rs/*/voca_rs/manipulate/fn.repeat.html)\n- [replace](https://docs.rs/voca_rs/*/voca_rs/manipulate/fn.replace.html)\n- [replace_all](https://docs.rs/voca_rs/*/voca_rs/manipulate/fn.replace_all.html)\n- [reverse](https://docs.rs/voca_rs/*/voca_rs/manipulate/fn.reverse.html)\n- [reverse_grapheme](https://docs.rs/voca_rs/*/voca_rs/manipulate/fn.reverse_grapheme.html)\n- [slugify](https://docs.rs/voca_rs/*/voca_rs/manipulate/fn.slugify.html)\n- [splice](https://docs.rs/voca_rs/*/voca_rs/manipulate/fn.splice.html)\n- [start](https://docs.rs/voca_rs/*/voca_rs/manipulate/fn.start.html)\n- [tr](https://docs.rs/voca_rs/*/voca_rs/manipulate/fn.tr.html)\n- [trim](https://docs.rs/voca_rs/*/voca_rs/manipulate/fn.trim.html)\n- [trim_left](https://docs.rs/voca_rs/*/voca_rs/manipulate/fn.trim_left.html)\n- [trim_right](https://docs.rs/voca_rs/*/voca_rs/manipulate/fn.trim_right.html)\n- [word_wrap](https://docs.rs/voca_rs/*/voca_rs/manipulate/fn.word_wrap.html)\n- [zfill](https://docs.rs/voca_rs/*/voca_rs/manipulate/fn.zfill.html)\n\n### Query\n\n- [ends_with](https://docs.rs/voca_rs/*/voca_rs/query/fn.ends_with.html)\n- [includes](https://docs.rs/voca_rs/*/voca_rs/query/fn.includes.html)\n- [is_alpha](https://docs.rs/voca_rs/*/voca_rs/query/fn.is_alpha.html)\n- [is_alphadigit](https://docs.rs/voca_rs/*/voca_rs/query/fn.is_alphadigit.html)\n- [is_blank](https://docs.rs/voca_rs/*/voca_rs/query/fn.is_blank.html)\n- [is_camel_case](https://docs.rs/voca_rs/*/voca_rs/query/fn.is_camel_case.html)\n- [is_capitalize](https://docs.rs/voca_rs/*/voca_rs/query/fn.is_capitalize.html)\n- [is_decapitalize](https://docs.rs/voca_rs/*/voca_rs/query/fn.is_decapitalize.html)\n- [is_digit](https://docs.rs/voca_rs/*/voca_rs/query/fn.is_digit.html)\n- [is_empty](https://docs.rs/voca_rs/*/voca_rs/query/fn.is_empty.html)\n- [is_foreign_key](https://docs.rs/voca_rs/*/voca_rs/query/fn.is_foreign_key.html)\n- [is_lowercase](https://docs.rs/voca_rs/*/voca_rs/query/fn.is_lowercase.html)\n- [is_lower_first](https://docs.rs/voca_rs/*/voca_rs/query/fn.is_lower_first.html)\n- [is_kebab_case](https://docs.rs/voca_rs/*/voca_rs/query/fn.is_kebab_case.html)\n- [is_shouty_kebab_case](https://docs.rs/voca_rs/*/voca_rs/query/fn.is_shouty_kebab_case.html)\n- [is_numeric](https://docs.rs/voca_rs/*/voca_rs/query/fn.is_numeric.html)\n- [is_pascal_case](https://docs.rs/voca_rs/*/voca_rs/query/fn.is_pascal_case.html)\n- [is_snake_case](https://docs.rs/voca_rs/*/voca_rs/query/fn.is_snake_case.html)\n- [is_shouty_snake_case](https://docs.rs/voca_rs/*/voca_rs/query/fn.is_shouty_snake_case.html)\n- [is_title](https://docs.rs/voca_rs/*/voca_rs/query/fn.is_title.html)\n- [is_train_case](https://docs.rs/voca_rs/*/voca_rs/query/fn.is_train_case.html)\n- [is_uppercase](https://docs.rs/voca_rs/*/voca_rs/query/fn.is_uppercase.html)\n- [is_upper_first](https://docs.rs/voca_rs/*/voca_rs/query/fn.is_upper_first.html)\n- [matches](https://docs.rs/voca_rs/*/voca_rs/query/fn.matches.html)\n- [query](https://docs.rs/voca_rs/*/voca_rs/query/fn.query.html)\n- [starts_with](https://docs.rs/voca_rs/*/voca_rs/query/fn.starts_with.html)\n\n### Split\n\n- [chars](https://docs.rs/voca_rs/*/voca_rs/split/fn.chars.html)\n- [code_points](https://docs.rs/voca_rs/*/voca_rs/split/fn.code_points.html)\n- [graphemes](https://docs.rs/voca_rs/*/voca_rs/split/fn.graphemes.html)\n- [split](https://docs.rs/voca_rs/*/voca_rs/split/fn.split.html)\n- [words](https://docs.rs/voca_rs/*/voca_rs/split/fn.words.html)\n\n### Strip\n\n- [strip_bom](https://docs.rs/voca_rs/*/voca_rs/strip/fn.strip_bom.html)\n- [strip_tags](https://docs.rs/voca_rs/*/voca_rs/strip/fn.strip_tags.html)\n\n### Utils\n\n- [ASCII_LETTERS](https://docs.rs/voca_rs/*/voca_rs/utils/constant.ASCII_LETTERS.html)\n- [ASCII_LOWERCASE](https://docs.rs/voca_rs/*/voca_rs/utils/constant.ASCII_LOWERCASE.html)\n- [ASCII_UPPERCASE](https://docs.rs/voca_rs/*/voca_rs/utils/constant.ASCII_UPPERCASE.html)\n- [DIGITS](https://docs.rs/voca_rs/*/voca_rs/utils/constant.DIGITS.html)\n- [HEXDIGITS](https://docs.rs/voca_rs/*/voca_rs/utils/constant.HEXDIGITS.html)\n- [OCTDIGITS](https://docs.rs/voca_rs/*/voca_rs/utils/constant.OCTDIGITS.html)\n- [PUNCTUATION](https://docs.rs/voca_rs/*/voca_rs/utils/constant.PUNCTUATION.html)\n- [PRINTABLE](https://docs.rs/voca_rs/*/voca_rs/utils/constant.PRINTABLE.html)\n- [WHITESPACE](https://docs.rs/voca_rs/*/voca_rs/utils/constant.WHITESPACE.html)\n- [VERSION](https://docs.rs/voca_rs/*/voca_rs/utils/constant.VERSION.html)\n\n## Copyright\n\nCoded by A. Merezhanyi\n\n## License\n\nLicensed under [MIT License](LICENSE.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fa-merezhanyi%2Fvoca_rs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fa-merezhanyi%2Fvoca_rs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fa-merezhanyi%2Fvoca_rs/lists"}