{"id":18448760,"url":"https://github.com/duke-git/rufl","last_synced_at":"2025-04-08T01:32:37.689Z","repository":{"id":204096848,"uuid":"711103318","full_name":"duke-git/rufl","owner":"duke-git","description":"An util function library for rust.","archived":false,"fork":false,"pushed_at":"2024-05-15T06:14:07.000Z","size":210,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-10-29T00:08:23.123Z","etag":null,"topics":["common","library","rust","util"],"latest_commit_sha":null,"homepage":"https://crates.io/crates/rufl","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/duke-git.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-10-28T08:16:13.000Z","updated_at":"2024-05-15T14:30:25.000Z","dependencies_parsed_at":"2024-04-09T07:32:04.972Z","dependency_job_id":"c787519c-be40-443c-9a05-3b3a82494f00","html_url":"https://github.com/duke-git/rufl","commit_stats":null,"previous_names":["duke-git/ruf","duke-git/rufl"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/duke-git%2Frufl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/duke-git%2Frufl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/duke-git%2Frufl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/duke-git%2Frufl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/duke-git","download_url":"https://codeload.github.com/duke-git/rufl/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223297054,"owners_count":17121996,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["common","library","rust","util"],"created_at":"2024-11-06T07:17:04.592Z","updated_at":"2024-11-06T07:17:05.229Z","avatar_url":"https://github.com/duke-git.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=center\u003e\n\u003cimg src=\"./logo.png\" width=\"439\" height=\"200\"/\u003e\n\u003cbr/\u003e\n\u003c/div\u003e\n\n#### Rufl is an util function library for rust. It provides a series of useful functions to make your rust development easier.\n\n_Rufl is short for \"rust util function library\"._\n\n[![crates.io](https://img.shields.io/crates/v/rufl?label=latest)](https://crates.io/crates/rufl)\n[![Documentation](https://docs.rs/rufl/badge.svg?version=0.1.3)](https://docs.rs/rufl/0.1.3)\n![MSRV](https://img.shields.io/badge/rustc-1.71+-ab6000.svg)\n[![CI](https://github.com/duke-git/rufl/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/duke-git/rufl/actions/workflows/ci.yml)\n[![codecov](https://codecov.io/gh/duke-git/rufl/branch/main/graph/badge.svg)](https://app.codecov.io/gh/duke-git/rufl/tree/main)\n[![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/duke-git/rulf/blob/main/LICENSE)\n\n## [简体中文](./README_zh-CN.md)\n\n## Features\n\n- Powerful: supports commonly used development features, string, collection, random, file... etc.\n- Pure: keep external dependencies to a minimum.\n- Simple: well structure, test for every function.\n\n## Installation\n- cargo add rufl\n\n```toml\n[dependencies]\nrufl = \"0.1.3\"\n```\n\n## Example\n\nHere takes the string function `add_commas` (Add comma to a number value by every 3 numbers from right. Ahead by prefix symbol.) as an example, and the `rufl::string` mod needs to be used.\n\nCode:\n```rust\nuse rufl::string;\n\nfn main() {\n    let money_amount: String = string::add_commas(\"1234567\", \"$\");\n    println!(\"current money is {}\", money_amount); // current money is $1,234,567\n}\n```\n\n## Documentation\n\n### \u003cspan id=\"index\"\u003eIndex\u003cspan\u003e\n\n- [collection](#collection)\n- [eventbus](#eventbus)\n- [file](#file)\n- [math](#math)\n- [random](#random)\n- [string](#string)\n\n\u003ch3 id=\"collection\"\u003e1. Collection mod contains several utility functions to manipulate collection data type. \u003ca href=\"#index\"\u003eindex\u003c/a\u003e\u003c/h3\u003e\n\n```rust\nuse rufl::collection;\n```\n\n- **all_match:** Returns true if all elements of the collection pass the predicate function check. [[doc](https://docs.rs/rufl/0.1.3/rufl/collection/fn.all_match.html)]\n\n- **chunk:** Returns a vector of elements split into groups the length of size. [[doc](https://docs.rs/rufl/0.1.3/rufl/collection/fn.chunk.html)]\n\n- **count:** Returns the number of occurrences of the given element in the collection. [[doc](https://docs.rs/rufl/0.1.3/rufl/collection/fn.count.html)]\n\n- **count_by:** Iterates over elements of collection with predicate function, returns the number of all matched elements. [[doc](https://docs.rs/rufl/0.1.3/rufl/collection/fn.count_by.html)]\n\n- **difference:** Creates a vector of values not included in the given collections using equality comparisons. [[doc](https://docs.rs/rufl/0.1.3/rufl/collection/fn.difference.html)]\n\n- **difference_by:** Like difference except that it accepts iteratee which is invoked for each element of collection and values to generate the criterion by which they’re compared. [[doc](https://docs.rs/rufl/0.1.3/rufl/collection/fn.difference_by.html)]\n\n- **difference_with:** Like difference except that it accepts comparator which is invoked to compare elements of collection to values. [[doc](https://docs.rs/rufl/0.1.3/rufl/collection/fn.difference_with.html)]\n\n- **fill:** Fills elements of vector with initial value. [[doc](https://docs.rs/rufl/0.1.3/rufl/collection/fn.fill.html)]\n\n- **filter:** Iterates over elements of collection, returning a collection of all elements pass the predicate function. [[doc](https://docs.rs/rufl/0.1.3/rufl/collection/fn.filter.html)]\n\n- **filter_map:** Returns a collection which apply both filtering and mapping to the given collection. [[doc](https://docs.rs/rufl/0.1.3/rufl/collection/fn.filter_map.html)]\n\n- **find:** Iterates over elements of collection, returning the first one and its index that pass predicate function. [[doc](https://docs.rs/rufl/0.1.3/rufl/collection/fn.find.html)]\n\n- **find_last:** Iterates over elements of collection, returning the last one and its index that pass predicate function. [[doc](https://docs.rs/rufl/0.1.3/rufl/collection/fn.find_last.html)]\n\n- **index_of:** Returns the index at which the first occurrence of a element is found in the collection. [[doc](https://docs.rs/rufl/0.1.3/rufl/collection/fn.index_of.html)]\n\n- **insert_at:** Inserts an element at position index within the vector. [[doc](https://docs.rs/rufl/0.1.3/rufl/collection/fn.insert_at.html)]\n\n- **intersection:** Creates a vector of unique elements that included by the all collections. [[doc](https://docs.rs/rufl/0.1.3/rufl/collection/fn.intersection.html)]\n\n- **is_ascending_order:** Checks if all elements are in ascending order within collection. [[doc](https://docs.rs/rufl/0.1.3/rufl/collection/fn.is_ascending_order.html)]\n\n- **is_descending_order:** Checks if all elements are in descending order within collection. [[doc](https://docs.rs/rufl/0.1.3/rufl/collection/fn.is_descending_order.html)]\n\n- **is_sorted:** Checks if all elements are sorted(ascending or descending order) within collection. [[doc](https://docs.rs/rufl/0.1.3/rufl/collection/fn.is_sorted.html)]\n\n- **last_index_of:** Returns the index at which the last occurrence of a element is found in the collection. [[doc](https://docs.rs/rufl/0.1.3/rufl/collection/fn.last_index_of.html)]\n\n- **map:** Creates new collection of element by running each element in collection thru iteratee. [[doc](https://docs.rs/rufl/0.1.3/rufl/collection/fn.map.html)]\n\n- **max:** Returns the maximum value of a collection. [[doc](https://docs.rs/rufl/0.1.3/rufl/collection/fn.max.html)]\n\n- **min:** Returns the minimum value of a collection. [[doc](https://docs.rs/rufl/0.1.3/rufl/collection/fn.min.html)]\n\n- **none_match:** Returns true if there is no element of the collection pass the predicate function check. [[doc](https://docs.rs/rufl/0.1.3/rufl/collection/fn.none_match.html)]\n\n- **partition:** Partition collection elements with the evaluation of the given predicate function. [[doc](https://docs.rs/rufl/0.1.3/rufl/collection/fn.partition.html)]\n\n- **reduce:** Reduces collection to a value which is the accumulated result of running each element in collection thru iteratee [[doc](https://docs.rs/rufl/0.1.3/rufl/collection/fn.reduce.html)]\n\n- **reduce_right:** Reduce right like reduce except that it iterates over elements of collection from right to left. [[doc](https://docs.rs/rufl/0.1.3/rufl/collection/fn.reduce_right.html)]\n\n- **remove_all:** Remove all specific elements within the vector. [[doc](https://docs.rs/rufl/0.1.3/rufl/collection/fn.remove_all.html)]\n\n- **replace_all:** Replace all old items with new items within the vector. [[doc](https://docs.rs/rufl/0.1.3/rufl/collection/fn.replace_all.html)]\n\n- **replace_n:** Replace the first count n old elements with new elements in the vector. [[doc](https://docs.rs/rufl/0.1.3/rufl/collection/fn.replace_n.html)]\n\n- **shuffle:** Returns a vector of shuffled values. [[doc](https://docs.rs/rufl/0.1.3/rufl/collection/fn.shuffle.html)]\n\n- **some_match:** Returns true if any element of the collection pass the predicate function check. [[doc](https://docs.rs/rufl/0.1.3/rufl/collection/fn.some_match.html)]\n\n- **union:** Creates a vector of unique elements between all collections. [[doc](https://docs.rs/rufl/0.1.3/rufl/collection/fn.union.html)]\n\n- **union_by:** Creates a vector of unique elements between two collections. it accepts iteratee which is invoked for each element of each collection to generate the criterion by which uniqueness is computed. [[doc](https://docs.rs/rufl/0.1.3/rufl/collection/fn.union_by.html)]\n\n- **unique:** Remove duplicate elements in collection(array, vector), use PartialEq equality comparisons. [[doc](https://docs.rs/rufl/0.1.3/rufl/collection/fn.unique.html)]\n\n- **unique_by:** Calls a provided custom comparator with element of collection, returns a vector of unique element. [[doc](https://docs.rs/rufl/0.1.3/rufl/collection/fn.unique_by.html)]\n\n\n\u003ch3 id=\"eventbus\"\u003e2. Eventbus implements a simple pub/sub event lib.\u003ca href=\"#index\"\u003eindex\u003c/a\u003e\u003c/h3\u003e\n\n```rust\nuse rufl::eventbus;\n```\n\n- **Event:** An event is a struct that can hold any data type. It is then published to the event bus. Once published, the event is then passed to each subscriber when the event bus runs. [[doc](https://docs.rs/rufl/0.1.3/rufl/eventbus/struct.Event.html)]\n\n- **EventBus:** The event bus is a central hub for all events. It is responsible for managing all subscribers and publishing events related to the event bus. [[doc](https://docs.rs/rufl/0.1.3/rufl/eventbus/struct.EventBus.html)]\n\n\n\u003ch3 id=\"file\"\u003e3. File mod contains several utility functions for handling file operation.\u003ca href=\"#index\"\u003eindex\u003c/a\u003e\u003c/h3\u003e\n\n```rust\nuse rufl::file;\n```\n- **clear:** Clear file content. [[doc](https://docs.rs/rufl/0.1.3/rufl/eventbus/fn.clear.html)]\n\n- **copy_dirs:** Copys all directories in src path to dst path. [[doc](https://docs.rs/rufl/0.1.3/rufl/eventbus/fn.copy_dirs.html)]\n\n- **create:** Creates a file in path and returns it. [[doc](https://docs.rs/rufl/0.1.3/rufl/eventbus/fn.create.html)]\n\n- **file_names:** Returns all file names of specific directory path. [[doc](https://docs.rs/rufl/0.1.3/rufl/eventbus/fn.file_names.html)]\n\n- **get_md5:** Gets the md5 value of file. [[doc](https://docs.rs/rufl/0.1.3/rufl/eventbus/fn.get_md5.html)]\n\n- **is_symlink:** Checks if file is symbol link file. [[doc](https://docs.rs/rufl/0.1.3/rufl/eventbus/fn.is_symlink.html)]\n\n- **read_to_buffer:** Reads file to buffer byte array. [[doc](https://docs.rs/rufl/0.1.3/rufl/eventbus/fn.read_to_buffer.html)]\n\n- **read_to_lines:** Reads file and returns lines string vector. [[doc](https://docs.rs/rufl/0.1.3/rufl/eventbus/fn.read_to_lines.html)]\n\n- **read_to_string:** Reads file to string. [[doc](https://docs.rs/rufl/0.1.3/rufl/eventbus/fn.read_to_string.html)]\n\n- **write_to:** Write data to file, if file isn’t exist, create it. [[doc](https://docs.rs/rufl/0.1.3/rufl/eventbus/fn.write_to.html)]\n\n\n\u003ch3 id=\"math\"\u003e4. Math mod contains several utility functions for handling mathematical calculations.\u003ca href=\"#index\"\u003eindex\u003c/a\u003e\u003c/h3\u003e\n\n```rust\nuse rufl::math;\n```\n- **abs:** Returns the absolute value of number n. [[doc](https://docs.rs/rufl/0.1.3/rufl/math/fn.abs.html)]\n\n- **average:** Calculats the average value of number vector. [[doc](https://docs.rs/rufl/0.1.3/rufl/math/fn.average.html)]\n\n- **factorial:** Calculats the factorial value of number n. [[doc](https://docs.rs/rufl/0.1.3/rufl/math/fn.factorial.html)]\n\n- **fib_nth:** Calculates the nth value of fibonacci number sequence. [[doc](https://docs.rs/rufl/0.1.3/rufl/math/fn.fib_nth.html)]\n\n- **fib_seq:** Returns fibonacci number sequence. [[doc](https://docs.rs/rufl/0.1.3/rufl/math/fn.fib_seq.html)]\n\n- **fib_sum:** Calculates the sum value of fibonacci number sequence. [[doc](https://docs.rs/rufl/0.1.3/rufl/math/fn.fib_sum.html)]\n\n- **gcd:** Returns greatest common divisor (GCD) of integers. [[doc](https://docs.rs/rufl/0.1.3/rufl/math/fn.gcd.html)]\n\n- **harmonic:** Calculates harmonic value number n. [[doc](https://docs.rs/rufl/0.1.3/rufl/math/fn.harmonic.html)]\n\n- **is_prime:** Checks if number is prime or not. [[doc](https://docs.rs/rufl/0.1.3/rufl/math/fn.is_prime.html)]\n\n- **lcm:** Return least common multiple (lcm) of integers. [[doc](https://docs.rs/rufl/0.1.3/rufl/math/fn.lcm.html)]\n\n- **percent:** Calculates percentage. [[doc](https://docs.rs/rufl/0.1.3/rufl/math/fn.percent.html)]\n\n- **round:** Round off n decimal places to number. [[doc](https://docs.rs/rufl/0.1.3/rufl/math/fn.round.html)]\n\n- **round_down:** Round down and truncate off n decimal places to number. [[doc](https://docs.rs/rufl/0.1.3/rufl/math/fn.round_down.html)]\n\n- **round_up:** Round up and truncate off n decimal places to number. [[doc](https://docs.rs/rufl/0.1.3/rufl/math/fn.round_up.html)]\n\n- **sqrt:** Calculates square root of float number n. [[doc](https://docs.rs/rufl/0.1.3/rufl/math/fn.sqrt.html)]\n\n- **sum:** Calculats the sum of number vector. [[doc](https://docs.rs/rufl/0.1.3/rufl/math/fn.sum.html)]\n\n- **to_angle:** Converts radian value to angle value. [[doc](https://docs.rs/rufl/0.1.3/rufl/math/fn.to_angle.html)]\n\n- **to_radian:** Converts angle value to radian value. [[doc](https://docs.rs/rufl/0.1.3/rufl/math/fn.to_radian.html)]\n\n- **truncate:** Truncate number to n decimal places after decimal point. [[doc](https://docs.rs/rufl/0.1.3/rufl/math/fn.truncate.html)]\n\n\n\n\u003ch3 id=\"random\"\u003e5. Random mod contains several utility functions for generating random number or string.\u003ca href=\"#index\"\u003eindex\u003c/a\u003e\u003c/h3\u003e\n\n```rust\nuse rufl::random;\n```\n\n- **alpha_number:** Generate random alphabetic or numberic string. [[doc](https://docs.rs/rufl/0.1.3/rufl/random/fn.alpha_number.html)]\n\n- **alphabet:** Generate random alphabetic string. [[doc](https://docs.rs/rufl/0.1.3/rufl/random/fn.alphabet.html)]\n\n- **lower:** Generate random lower case English letter string. [[doc](https://docs.rs/rufl/0.1.3/rufl/random/fn.lower.html)]\n\n- **numberic:** Generate random numberic string. [[doc](https://docs.rs/rufl/0.1.3/rufl/random/fn.numberic.html)]\n\n- **symbol:** Generate random string which only contains special chars (!@#$%^\u0026*()_+-=[]{}|;’:\",./\u003c\u003e?). [[doc](https://docs.rs/rufl/0.1.3/rufl/random/fn.symbol.html)]\n\n- **string:** Generate random string. (all kinds chars: alphabet, number, symbol). [[doc](https://docs.rs/rufl/0.1.3/rufl/random/fn.string.html)]\n\n- **upper:** Generate random upper case English letter string. [[doc](https://docs.rs/rufl/0.1.3/rufl/random/fn.upper.html)]\n\n\n\n\u003ch3 id=\"string\"\u003e6. String mod contains several utility functions for handling string.\u003ca href=\"#index\"\u003eindex\u003c/a\u003e\u003c/h3\u003e\n\n```rust\nuse rufl::string;\n```\n\n- **add_commas:** Add comma to a number value by every 3 numbers from right. Ahead by prefix symbol. [[doc](https://docs.rs/rufl/0.1.3/rufl/string/fn.add_commas.html)]\n\n- **after:** Returns the substring after the first occurrence of a specified substr in the source string. [[doc](https://docs.rs/rufl/0.1.3/rufl/string/fn.after.html)]\n\n- **after_last:** Returns the substring after the last occurrence of a specified substr in the source string. [[doc](https://docs.rs/rufl/0.1.3/rufl/string/fn.after_last.html)]\n\n- **before:** Returns the substring before the first occurrence of a specified substr in the source string. [[doc](https://docs.rs/rufl/0.1.3/rufl/string/fn.before.html)]\n\n- **before_last:** Returns the substring before the last occurrence of a specified substr in the source string. [[doc](https://docs.rs/rufl/0.1.3/rufl/string/fn.before_last.html)]\n\n- **camel_case:** Converts string to camel case.[[doc](https://docs.rs/rufl/0.1.3/rufl/string/fn.camel_case.html)]\n\n- **capitalize:** Converts the first character of string to upper case and the remaining to lower case.[[doc](https://docs.rs/rufl/0.1.3/rufl/string/fn.capitalize.html)]\n\n- **count_by:** Counts the characters in target string with predicate function, returns the number of all matched characters. [[doc](https://docs.rs/rufl/0.1.3/rufl/string/fn.count_by.html)]\n\n- **count_chars:** Returns the characters count in target string. [[doc](https://docs.rs/rufl/0.1.3/rufl/string/fn.count_chars.html)]\n\n- **count_graphemes:** Returns the graphemes count in target string. [[doc](https://docs.rs/rufl/0.1.3/rufl/string/fn.count_graphemes.html)]\n\n- **count_words:** Returns the word count in target string. [[doc](https://docs.rs/rufl/0.1.3/rufl/string/fn.count_words.html)]\n\n- **cut:** Cut searches for the substring ‘sep’ in the source string, and splits the source string into two parts at the first occurrence of the substring ‘sep’: before and after. [[doc](https://docs.rs/rufl/0.1.3/rufl/string/fn.cut.html)]\n\n- **hide:** Hides some chars in source string and replace with speicfic substring. [[doc](https://docs.rs/rufl/0.1.3/rufl/string/fn.hide.html)]\n\n- **index:** Searches a string and returns the index of the first occurrence of the specified searched substring. [[doc](https://docs.rs/rufl/0.1.3/rufl/string/fn.index.html)]\n\n- **index_all:** Searches a string and returns all the indexs of the occurrence of the specified searched substring. [[doc](https://docs.rs/rufl/0.1.3/rufl/string/fn.index_all.html)]\n\n- **is_alpha:** Checks if the string contains only alphabetic characters. [[doc](https://docs.rs/rufl/0.1.3/rufl/string/fn.is_alpha.html)]\n\n- **is_alphanumberic:** Checks if the string contains only alphabetic or numeric characters. [[doc](https://docs.rs/rufl/0.1.3/rufl/string/fn.is_alphanumberic.html)]\n\n- **is_digit:** Checks if the string contains only digit characters.(0-9) [[doc](https://docs.rs/rufl/0.1.3/rufl/string/fn.is_digit.html)]\n\n- **is_dns:** Checks if the string is a valid domain name. [[doc](https://docs.rs/rufl/0.1.3/rufl/string/fn.is_dns.html)]\n\n- **is_email:** Checks if the string is a valid email address. [[doc](https://docs.rs/rufl/0.1.3/rufl/string/fn.is_email.html)]\n\n- **is_ipv4:** Checks if the string is a valid ipv4 address. [[doc](https://docs.rs/rufl/0.1.3/rufl/string/fn.is_ipv4.html)]\n\n- **is_ipv6:** Checks if the string is a valid ipv6 address. [[doc](https://docs.rs/rufl/0.1.3/rufl/string/fn.is_ipv6.html)]\n\n- **is_lowercase:** Checks if the string contains only lowercase unicode characters. [[doc](https://docs.rs/rufl/0.1.3/rufl/string/fn.is_lowercase.html)]\n\n- **is_numberic:** Checks if the string numeric (can be parsed to number). [[doc](https://docs.rs/rufl/0.1.3/rufl/string/fn.is_numberic.html)]\n\n- **is_strong_password:** Checks if the string is a strong password. [[doc](https://docs.rs/rufl/0.1.3/rufl/string/fn.is_strong_password.html)]\n\n- **is_uppercase:** Checks if the string contains only uppercase unicode characters. [[doc](https://docs.rs/rufl/0.1.3/rufl/string/fn.is_uppercase.html)]\n\n- **is_url:** Checks if the string is a valid url. [[doc](https://docs.rs/rufl/0.1.3/rufl/string/fn.is_url.html)]\n\n- **kebab_case:** Converts string to kebab case. [[doc](https://docs.rs/rufl/0.1.3/rufl/string/fn.kebab_case.html)]\n\n- **last_index:** Searches a string and returns the index of the last occurrence of the specified searched substring. [[doc](https://docs.rs/rufl/0.1.3/rufl/string/fn.last_index.html)]\n\n- **lower_first:** Converts the first character of string to lower case. [[doc](https://docs.rs/rufl/0.1.3/rufl/string/fn.lower_first.html)]\n\n- **pad:** Pads string on the left and right sides if it’s shorter than length. Padding characters are truncated if they can’t be evenly divided by length. [[doc](https://docs.rs/rufl/0.1.3/rufl/string/fn.pad.html)]\n\n- **pad_end:** \tPads string on the right side if it’s shorter than length. Padding str are truncated if they exceed length. [[doc](https://docs.rs/rufl/0.1.3/rufl/string/fn.pad_end.html)]\n\n- **pad_start:** Pads string on the left side if it’s shorter than length. Padding str are truncated if they exceed length. [[doc](https://docs.rs/rufl/0.1.3/rufl/string/fn.pad_start.html)]\n\n- **pascal_case:** Converts string to pascal case. [[doc](https://docs.rs/rufl/0.1.3/rufl/string/fn.pascal_case.html)]\n\n- **remove_all:** Removes all the specified substring which occurrence in the source string. [[doc](https://docs.rs/rufl/0.1.3/rufl/string/fn.remove_all.html)]\n\n- **remove_first:** Removes the specified substring which first occurrence in the source string. [[doc](https://docs.rs/rufl/0.1.3/rufl/string/fn.remove_first.html)]\n\n- **remove_last:** Removes the specified substring which last occurrence in the source string. [[doc](https://docs.rs/rufl/0.1.3/rufl/string/fn.remove_last.html)]\n\n- **removen:** Removes first n matches substr in the source string. [[doc](https://docs.rs/rufl/0.1.3/rufl/string/fn.removen.html)]\n\n- **snake_case:** Converts string to snake case. [[doc](https://docs.rs/rufl/0.1.3/rufl/string/fn.snake_case.html)]\n\n- **split_chars:** \tSplit the input string into a vector of characters. [[doc](https://docs.rs/rufl/0.1.3/rufl/string/fn.split_chars.html)]\n\n- **split_graphemes:** Split the target string into a vector of graphemes str. [[doc](https://docs.rs/rufl/0.1.3/rufl/string/fn.split_graphemes.html)]\n\n- **split_words:** Split the input string into a vector of its words (based on the position of capital letters or numbers). [[doc](https://docs.rs/rufl/0.1.3/rufl/string/fn.split_words.html)]\n\n- **starts_with_offset:** Checks whether a string starts with the specified prefix at offset position. [[doc](https://docs.rs/rufl/0.1.3/rufl/string/fn.starts_with_offset.html)]\n\n- **substring:** Returns the part of target string from the start index up to and excluding the end index. [[doc](https://docs.rs/rufl/0.1.3/rufl/string/fn.substring.html)]\n\n- **title_case:** Converts string to title case. [[doc](https://docs.rs/rufl/0.1.3/rufl/string/fn.title_case.html)]\n\n- **upper_first:** Converts the first character of string to upper case. [[doc](https://docs.rs/rufl/0.1.3/rufl/string/fn.upper_first.html)]\n\n\n\n## How to Contribute\n\n#### [Contributing Guide](./CONTRIBUTING.md)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fduke-git%2Frufl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fduke-git%2Frufl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fduke-git%2Frufl/lists"}