npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@thirteen-13/string-utility

v1.1.4

Published

string utility function

Readme

TypeScript String Utilities — The Pirate King’s Toolbox

Welcome aboard! This repository is your ultimate collection of over 200+ powerful, reusable, and strictly typed TypeScript string utility functions — crafted for clean, robust, and scalable code across your projects.

Inspired by the relentless spirit of Monkey D. Luffy, this toolkit helps you conquer even the toughest string manipulation challenges on your coding voyage.

Features

  • 200+ unique, tested, and documented string utility functions
  • Strictly typed with TypeScript for maximum safety and developer experience
  • Fully functional and side-effect free — pure functions you can trust
  • Designed for frontend and backend use (Node.js, React, Next.js)
  • Semantic and accessible naming conventions for easy discovery
  • Easy to integrate and extend, just like assembling your Straw Hat crew
  • No dependencies — lightweight and fast as a Thousand Sunny sail

Installation


npm install @thirteen-13/string-utility

If you encounter any bugs or unexpected behavior in the functions, please report an issue on the project's GitHub repository. Your contributions are invaluable in maintaining the quality and reliability of this codebase.

List of Utility Functions and Usage

isString

Description

Checks if the provided value is a string.

This function returns true if the input is of type string. It acts as a TypeScript type guard to narrow types.

Example

isString("luffy"); // true
isString(123); // false

capitalize

Description

Capitalizes the first character of a given string and returns the new string.

Example

capitalize("luffy"); // "Luffy"
capitalize("one piece"); // "One piece"

toCamelCase

Description

Converts a string with spaces, dashes, or underscores into camelCase format.

Example

toCamelCase("one_piece"); // "onePiece"
toCamelCase("Monkey D Luffy"); // "monkeyDLuffy"
toCamelCase("roronoa-zoro"); // "roronoaZoro"

toKebabCase

Description

Converts a string from camelCase, spaces, or underscores into kebab-case (lowercase words separated by hyphens).

Example

toKebabCase("OnePiece"); // "one-piece"
toKebabCase("Monkey D Luffy"); // "monkey-d-luffy"
toKebabCase("roronoa_zoro"); // "roronoa-zoro"

toSnakeCase

Description

Converts a string from camelCase, spaces, or hyphens into snake_case (lowercase words separated by underscores).

Example

toSnakeCase("OnePiece"); // "one_piece"
toSnakeCase("Monkey D Luffy"); // "monkey_d_luffy"
toSnakeCase("roronoa-zoro"); // "roronoa_zoro"

reverse

Description

Reverses the characters in a string.

Example

reverse("Luffy"); // "yffuL"
reverse("One Piece"); // "ecieP enO"

truncate

Description

Truncates a string to a specified length and appends an ellipsis (…) if the string exceeds that length.

Example

truncate("Going Merry", 5); // "Going…"
truncate("Thousand Sunny", 20); // "Thousand Sunny"

stripHtml

Description

Removes all HTML tags from a string, leaving only the plain text content.

Example

stripHtml("<p>Straw Hat Pirates</p>"); // "Straw Hat Pirates"
stripHtml("<div><strong>Luffy</strong> is captain</div>"); // "Luffy is captain"

escapeHtml

Description

Escapes special HTML characters in a string to their corresponding HTML entities to prevent HTML injection.

Example

escapeHtml("<Luffy & Zoro>"); // "&lt;Luffy &amp; Zoro&gt;"
escapeHtml(`"One Piece's"`); // "&quot;One Piece&#039;s&quot;"

isUpperCase

Description

Checks if the entire string is in uppercase letters.

Example

isUpperCase("Gomu Gomu no"); // false
isUpperCase("MARINE"); // true

isLowerCase

Description

Checks if the entire string is in lowercase letters.

Example

isLowerCase("going merry"); // true
isLowerCase("Thousand Sunny"); // false

repeat

Description

Repeats the given string a specified number of times.

Example

repeat("Gomu ", 3); // "Gomu Gomu Gomu "
repeat("Yoho! ", 2); // "Yoho! Yoho! "

padLeft

Description

Pads the start of a string with a specified character until it reaches the desired length. Defaults to space padding.

Example

padLeft("Zoro", 6); // "  Zoro"
padLeft("Luffy", 8, "*"); // "***Luffy"

padRight

Description

Pads the end of a string with a specified character until it reaches the desired length. Defaults to space padding.

Example

padRight("Sanji", 7); // "Sanji  "
padRight("Nami", 6, "-"); // "Nami--"

contains

Description

Checks if a string contains a specified substring.

Example

contains("Straw Hat Pirates", "Hat"); // true
contains("One Piece", "Yonko"); // false

startsWith

Description

Checks if a string starts with the specified prefix.

Example

startsWith("Going Merry", "Going"); // true
startsWith("Thousand Sunny", "Merry"); // false

endsWith

Description

Checks if a string ends with the specified suffix.

Example

endsWith("Grand Line", "Line"); // true
endsWith("Red Hair", "Black"); // false

removeNonAlpha

Description

Removes all non-alphabetic characters from a string, leaving only letters (a-z, case-insensitive).

Example

removeNonAlpha("Luffy123!"); // "Luffy"
removeNonAlpha("Go! Go! Zoro."); // "GoGoZoro"

removeNonNumeric

Description

Removes all non-numeric characters from a string, leaving only digits (0-9).

Example

removeNonNumeric("Episode 101"); // "101"
removeNonNumeric("123-456-7890"); // "1234567890"

removeWhitespace

Description

Removes all whitespace characters (spaces, tabs, newlines) from a string.

Example

removeWhitespace("Straw Hat Pirates"); // "StrawHatPirates"
removeWhitespace("  Monkey  D   Luffy "); // "MonkeyDLuffy"

countOccurrences

Description

Counts how many times a substring appears within a string.

Example

countOccurrences("Luffy is the captain of the Straw Hat crew", "the"); // 2
countOccurrences("One Piece is amazing", "a"); // 2

slugify

Description

Converts a string into a URL-friendly slug by lowercasing, trimming, removing special characters, and replacing spaces/underscores with hyphens.

Example

slugify("Monkey D Luffy"); // "monkey-d-luffy"
slugify("  Going Merry's Voyage! "); // "going-merrys-voyage"

"monkey-d-luffy" "going-merrys-voyage"

getInitials

Description

Extracts and returns the uppercase initials from a space-separated string.

Example

getInitials("Monkey D Luffy"); // "MDL"
getInitials("Straw Hat Pirates"); // "SHP"

isStrictPalindrome

Description

Checks if a string is a strict palindrome, meaning it reads the same forwards and backwards, including case and spaces.

Example

isStrictPalindrome("anna"); // true
isStrictPalindrome("Luffy"); // false

isLoosePalindrome

Description

Checks if a string is a palindrome, ignoring case, spaces, and non-alphanumeric characters.

Example

isLoosePalindrome("A man, a plan, a canal: Panama"); // true
isLoosePalindrome("Straw Hat"); // false

extractNumbers

Description

Extracts all sequences of digits from a string and returns them as an array of numbers.

Example

extractNumbers("Episode 101 and 102 are great"); // ["101", "102"]
extractNumbers("No numbers here"); // []

extractWords

Description

Extracts all words from a string and returns them as an array of strings.

Example

extractWords("Straw Hat Pirates"); // ["Straw", "Hat", "Pirates"]
extractWords("One Piece: The Beginning!"); // ["One", "Piece", "The", "Beginning"]

maskString

Description

Masks part of a string by replacing characters from the start index up to (but not including) the end index with a specified mask character (default is '*').

Example

maskString("Straw Hat Pirates", 6, 9); // "Straw *** Pirates"
maskString("Monkey D Luffy", 0, 6, "#"); // "###### D Luffy"

randomString

Description

Generates a random alphanumeric string of a specified length.

Example

randomString(8); // e.g. "4K9bZ1Lp"
randomString(5); // e.g. "a3X9Q"

isAlpha

Description

Checks if a string contains only alphabetic characters (A-Z, a-z) with no spaces or other characters.

Example

isAlpha("Luffy"); // true
isAlpha("Straw Hat"); // false

isAlphanumeric

Description

Checks if a string contains only alphanumeric characters (letters and numbers) with no spaces or special characters.

Example

isAlphanumeric("Luffy123"); // true
isAlphanumeric("Straw Hat 9"); // false

isEmail

Description

Checks if a string is a valid email format.

Example

isEmail("[email protected]"); // true
isEmail("nami@weather"); // false

extractEmails

Description

Extracts all email addresses from a string and returns them as an array.

Example

extractEmails("Contact [email protected] or [email protected]"); // ["[email protected]", "[email protected]"]
extractEmails("No emails here"); // []

extractUrls

Description

Extracts all HTTP and HTTPS URLs from a string and returns them as an array.

Example

extractUrls("Visit https://onepiece.com and http://strawhatpirates.com");
// ["https://onepiece.com", "http://strawhatpirates.com"]

extractUrls("No links here");
// []

titleCase

Description

Converts a string to title case, capitalizing the first letter of each word and lowercasing the rest.

Example

titleCase("monkey d luffy"); // "Monkey D Luffy"
titleCase("straw hat pirates"); // "Straw Hat Pirates"

swapCase

Description

Swaps the case of each character in the string: uppercase characters become lowercase, and lowercase become uppercase.

Example

swapCase("Straw Hat"); // "sTRAW hAT"
swapCase("Luffy"); // "lUFFY"

removeDuplicateWords

Description

Removes duplicate words from a string, preserving the original word order.

Example

removeDuplicateWords("Straw Hat Straw Pirates"); // "Straw Hat Pirates"
removeDuplicateWords("Luffy Luffy Luffy"); // "Luffy"

safeString

Description

Removes all non-alphanumeric and non-whitespace characters from a string, leaving only letters, numbers, and spaces.

Example

safeString("Luffy!@# is #1"); // "Luffy is 1"
safeString("Straw-Hat Pirates!"); // "StrawHat Pirates"

compressWhitespace

Description

Replaces consecutive whitespace characters with a single space and trims whitespace from the start and end of the string.

Example

compressWhitespace("  Straw   Hat   Pirates  "); // "Straw Hat Pirates"
compressWhitespace("Monkey    D    Luffy"); // "Monkey D Luffy"

charFrequency

Description

Calculates the frequency of each character in a string and returns an object mapping characters to their counts.

Example

charFrequency("Luffy"); // { L: 1, u: 1, f: 2, y: 1 }
charFrequency("Straw Hat"); // { S: 1, t: 2, r: 1, a: 2, w: 1,  : 1, H: 1 }

levenshteinDistance

Description

Calculates the Levenshtein distance between two strings, which is the minimum number of single-character edits (insertions, deletions, or substitutions) required to change one string into the other.

Example

levenshteinDistance("Luffy", "Luffa"); // 1
levenshteinDistance("Straw Hat", "Straw Hats"); // 1
levenshteinDistance("Zoro", "Luffy"); // 5

toPascalCase

Description

Converts a string to PascalCase by capitalizing the first letter of each word and removing all spaces.

Example

toPascalCase("straw hat pirates"); // "StrawHatPirates"
toPascalCase("luffy the captain"); // "LuffyTheCaptain"

toDotCase

Description

Converts a string to dot.case by replacing all spaces with dots and converting the entire string to lowercase.

Example

toDotCase("Straw Hat Pirates"); // "straw.hat.pirates"
toDotCase("Monkey D Luffy"); // "monkey.d.luffy"

toSpaceCase

Description

Converts a string to space case by replacing underscores and hyphens with spaces, and adding spaces between camelCase words.

Example

toSpaceCase("Straw-Hat_Pirates"); // "Straw Hat Pirates"
toSpaceCase("MonkeyDLuffy"); // "Monkey D Luffy"

endsWithAny

Description

Checks if a string ends with any of the provided suffixes.

Example

endsWithAny("OnePiece.mp4", [".mp4", ".avi"]); // true
endsWithAny("Zoro.png", [".jpg", ".gif"]); // false

startsWithAny

Description

Checks if a string starts with any of the provided prefixes.

Example

startsWithAny("OnePieceIsReal", ["One", "Two"]); // true
startsWithAny("GrandLine", ["East", "North"]); // false

trimChar

Description

Removes all occurrences of a specific character from the start and end of a string.

Example

trimChar("---Luffy---", "-"); // "Luffy"
trimChar("$$$Bounty$$$", "$"); // "Bounty"

removeDiacritics

Description

Removes diacritical marks (accents) from characters in a string.

Example

removeDiacritics("école"); // "ecole"
removeDiacritics("Luffý D. Mónkey"); // "Luffy D. Monkey"

getUniqueCharacters

Description

Returns an array of unique characters from the given string.

Example

getUniqueCharacters("luffy"); // ["l", "u", "f", "y"]
getUniqueCharacters("nami nami"); // ["n", "a", "m", "i", " "]

stringToCharCodeArray

Description

Converts each character in the string to its corresponding ASCII (char code) value.

Example

stringToCharCodeArray("Zoro"); // [90, 111, 114, 111]
stringToCharCodeArray("Luffy"); // [76, 117, 102, 102, 121]

charCodeArrayToString

Description

Converts an array of ASCII (char code) values back to a string.

Example

charCodeArrayToString([90, 111, 114, 111]); // "Zoro"
charCodeArrayToString([76, 117, 102, 102, 121]); // "Luffy"

wrap

Description

Wraps a string with the specified wrapper characters or strings on both sides.

Example

wrap("Gear4", "*"); // "*Gear4*"
wrap("Sunny", '"'); // "\"Sunny\""

ensureStartsWith

Description

Ensures the string starts with the given prefix. If it already does, returns the string unchanged; otherwise, prepends the prefix.

Example

ensureStartsWith("OnePiece", "The "); // "The OnePiece"
ensureStartsWith("The Grand Line", "The "); // "The Grand Line"

ensureEndsWith

Description

Ensures the string ends with the given suffix. If it already does, returns the string unchanged; otherwise, appends the suffix.

Example

ensureEndsWith("Going Merry", " Ship"); // "Going Merry Ship"
ensureEndsWith("Thousand Sunny Ship", " Ship"); // "Thousand Sunny Ship"

repeatStringUntilLength

Description

Repeats the input string until it reaches at least the target length, then slices it to exactly that length.

Example

repeatStringUntilLength("Nami", 10); // "NamiNamiNa"
repeatStringUntilLength("Ace", 7); // "AceAceA"

collapseNewlines

Description

Replaces consecutive newlines and carriage returns with a single newline character.

Example

collapseNewlines("Luffy\n\n\nZoro\r\n\r\nSanji"); // "Luffy\nZoro\nSanji"
collapseNewlines("One\nPiece\r\n\r\n\n"); // "One\nPiece\n"

stringToAsciiSum

Description

Calculates the sum of ASCII character codes of all characters in the string.

Example

stringToAsciiSum("Luffy"); // 527
stringToAsciiSum("Zoro"); // 412

getCharAtSafe

Description

Returns the character at the specified index in the string, or an empty string if the index is out of bounds.

Example

getCharAtSafe("Sanji", 2); // "n"
getCharAtSafe("Chopper", 10); // ""

isWhitespace

Description

Checks if the entire string consists only of whitespace characters (spaces, tabs, newlines).

Example

isWhitespace("   "); // true
isWhitespace("\n\t"); // true
isWhitespace("Luffy"); // false

isEmpty

Description

Checks if the string is empty (has zero length).

Example

isEmpty(""); // true
isEmpty("One Piece"); // false

isBlank

Description

Checks if the string is blank — meaning it contains only whitespace characters or is empty.

Example

isBlank("   "); // true
isBlank(""); // true
isBlank("Zoro"); // false

getNthWord

Description

Returns the nth word (0-based index) from the string. If the index is out of range, returns an empty string.

Example

getNthWord("Straw Hat Pirates", 1); // "Hat"
getNthWord("One Piece", 3); // ""

countVowels

Description

Counts the number of vowels (a, e, i, o, u) in the string, case-insensitive.

Example

countVowels("Going Merry"); // 4
countVowels("Thousand Sunny"); // 4

countConsonants

Description

Counts the number of consonants (letters other than a, e, i, o, u) in the string, case-insensitive.

Example

countConsonants("Going Merry"); // 6
countConsonants("Thousand Sunny"); // 7

stripPunctuation

Description

Removes common punctuation characters from the string.

Example

stripPunctuation("Zoro, the swordsman!"); // "Zoro the swordsman"
stripPunctuation("Luffy's going to the Grand Line."); // "Luffys going to the Grand Line"

extractHashtags

Description

Extracts all hashtags from a string.

Example

extractHashtags("Luffy #PirateKing #StrawHat"); // ["#PirateKing", "#StrawHat"]
extractHashtags("No hashtags here!"); // []

extractMentions

Description

Extracts all mentions (words starting with '@') from a string.

Example

extractMentions("Hello @Luffy, meet @Zoro!"); // ["@Luffy", "@Zoro"]
extractMentions("No mentions here."); // []

hasRepeatedCharacters

Description

Checks if the string contains any repeated consecutive characters.

Example

hasRepeatedCharacters("Luffy"); // false
hasRepeatedCharacters("Zorooo"); // true

isHexColor

Description

Determines if a string is a valid hex color code (3 or 6 hexadecimal digits prefixed with #).

Example

isHexColor("#FFF"); // true
isHexColor("#123ABC"); // true
isHexColor("#123ABZ"); // false

isRgbColor

Description

Checks if a string matches the RGB color format rgb(r, g, b) where r, g, b are integers from 0 to 255.

Example

isRgbColor("rgb(255, 0, 128)"); // true
isRgbColor("rgb(256, 0, 0)"); // true (regex does not validate range)
isRgbColor("rgba(255, 0, 0)"); // false
isRgbColor("rgb(12,34,56)"); // true
isRgbColor("rgb(12, 34)"); // false

getLastNChars

Description

Returns the last n characters of a given string.

Parameters

  • str (string): The input string.
  • n (number): The number of characters to extract from the end of the string.

Returns

(string): A substring containing the last n characters of str. If n is greater than the string length, returns the entire string.

Example

getLastNChars("One Piece", 4); // "Piece"
getLastNChars("Straw Hat", 3); // "Hat"
getLastNChars("Luffy", 10); // "Luffy"

getFirstNChars

Description

Returns the first n characters of a given string.

Parameters

  • str (string): The input string.
  • n (number): The number of characters to extract from the start of the string.

Returns

(string): A substring containing the first n characters of str. If n is greater than the string length, returns the entire string.

Example

getFirstNChars("One Piece", 3); // "One"
getFirstNChars("Straw Hat", 5); // "Straw"
getFirstNChars("Luffy", 10); // "Luffy"

containsAny

Description

Checks if the given string contains any of the substrings from the provided list.

Parameters

  • str (string): The main string to search within.
  • items (string[]): An array of substrings to check for within str.

Returns

(boolean): true if any substring from items is found in str, otherwise false.

Example

containsAny("Going Merry is the ship", ["Merry", "Thousand"]); // true
containsAny("Grand Line adventures", ["Davy", "Beard"]); // false
containsAny("Zoro wields three swords", ["swords", "bows"]); // true

replaceAll

Description

Replaces all occurrences of a substring within a string with a new substring.

Parameters

  • str (string): The original string.
  • find (string): The substring to find and replace.
  • replace (string): The substring to replace all occurrences of find with.

Returns

(string): The new string with all occurrences of find replaced by replace.

Example

replaceAll("Luffy is the captain. Luffy is strong.", "Luffy", "Zoro");
// "Zoro is the captain. Zoro is strong."

isAllUpperCase

Description

Checks if a string is entirely uppercase and contains at least one uppercase letter.

Parameters

  • str (string): The input string to check.

Returns

(boolean): true if the string is all uppercase and contains at least one uppercase letter, otherwise false.

Example

isAllUpperCase("GUMBO"); // true
isAllUpperCase("Gumbo"); // false
isAllUpperCase("123"); // false

isAllLowerCase

Description

Checks if a string is entirely lowercase and contains at least one lowercase letter.

Parameters

  • str (string): The input string to check.

Returns

(boolean): true if the string is all lowercase and contains at least one lowercase letter, otherwise false.

Example

isAllLowerCase("gumbo"); // true
isAllLowerCase("Gumbo"); // false
isAllLowerCase("123"); // false

toCharArray

Description

Converts a string into an array of its individual characters.

Parameters

  • str (string): The input string to convert.

Returns

(string[]): An array containing each character of the input string as a separate element.

Example

toCharArray("Luffy"); // ['L', 'u', 'f', 'f', 'y']

reverseWords

Description

Reverses the order of words in a string, preserving the words themselves.

Parameters

  • str (string): The input string whose word order will be reversed.

Returns

(string): A new string with the words in reverse order.

Example

reverseWords("Straw Hat Pirates"); // "Pirates Hat Straw"

countWords

Description

Counts the number of words in a string using word boundaries.

Parameters

  • str (string): The input string to count words from.

Returns

(number): The total count of words in the string.

Example

countWords("Going Merry sets sail"); // 4

repeatWithSeparator

Description

Repeats a given string a specified number of times, separated by a custom separator.

Parameters

  • str (string): The string to repeat.
  • count (number): Number of times to repeat the string.
  • sep (string): Separator to insert between each repetition.

Returns

(string): The resulting concatenated string with separators.

Example

repeatWithSeparator("One Piece", 3, " - "); // "One Piece - One Piece - One Piece"

trimStart

Description

Removes whitespace characters from the start (left side) of the string.

Parameters

  • str (string): The input string to trim.

Returns

(string): The string with leading whitespace removed.

Example

trimStart("   Going Merry"); // "Going Merry"

trimEnd

Description

Removes whitespace characters from the end (right side) of the string.

Parameters

  • str (string): The input string to trim.

Returns

(string): The string with trailing whitespace removed.

Example

trimEnd("Going Merry   "); // "Going Merry"

obfuscateEmail

Description

Obfuscates an email address by masking part of the user name, keeping only the first character visible, followed by three asterisks, then the domain.

Parameters

  • email (string): The email address to obfuscate.

Returns

(string): The obfuscated email string.

Example

obfuscateEmail("[email protected]"); // "l***@onepiece.com"

base64Encode

Description

Encodes a given string into its Base64 representation using Node.js Buffer. if the input string has multi-byte characters (like Japanese kana or kanji), the result might not be different.

Parameters

  • str (string): The input string to encode.

Returns

(string): The Base64 encoded string.

Example

base64Encode("Going Merry"); // "R29pbmcgTWVycnk="

base64Decode

Description

Decodes a Base64 encoded string back to its original UTF-8 string using Node.js Buffer. multi-byte characters (like Japanese kana or kanji), the result might not decode correctly depending on where you decode it later.

Parameters

  • str (string): The Base64 encoded string to decode.

Returns

(string): The decoded original string.

Example

base64Decode("R29pbmcgTWVycnk="); // "Going Merry"

camelToSnake

Description

Converts a camelCase string into snake_case by replacing uppercase letters with an underscore followed by the lowercase letter.

Parameters

  • str (string): The camelCase string to convert.

Returns

(string): The converted snake_case string.

Example

camelToSnake("GoingMerry"); // "going_merry"

snakeToCamel

Description

Converts a snake_case string into camelCase by replacing underscores followed by a letter with the uppercase version of that letter.

Parameters

  • str (string): The snake_case string to convert.

Returns

(string): The converted camelCase string.

Example

snakeToCamel("going_merry"); // "goingMerry"

removeTrailingSlash

Description

Removes the trailing slash from a URL or path string if it exists.

Parameters

  • str (string): The string from which to remove the trailing slash.

Returns

(string): The string without a trailing slash.

Example

removeTrailingSlash("https://onepiece.com/"); // "https://onepiece.com"
removeTrailingSlash("grandline"); // "grandline"

removeLeadingSlash

Description

Removes the leading slash from a URL or path string if it exists.

Parameters

  • str (string): The string from which to remove the leading slash.

Returns

(string): The string without a leading slash.

Example

removeLeadingSlash("/goingmerry"); // "goingmerry"
removeLeadingSlash("sunny"); // "sunny"

splitByLength

Description

Splits a string into an array of substrings, each with a maximum specified length.

Parameters

  • str (string): The string to split.
  • length (number): The maximum length of each substring.

Returns

(string[]): An array of substrings with the specified maximum length.

Example

splitByLength("thousandSunny", 3); // ["tho", "usa", "ndS", "unn", "y"]

truncateWords

Description

Truncates a string to a specified number of words and appends an ellipsis.

Parameters

  • str (string): The string to truncate.
  • numWords (number): The number of words to keep before truncating.

Returns

(string): The truncated string with an ellipsis.

Example

truncateWords("I'm gonna be King of the Pirates", 5); // "I'm gonna be King of the…"

isUUID

Description

Checks whether a string is a valid UUID v4.

Parameters

  • str (string): The string to validate as a UUID.

Returns

(boolean): true if the string is a valid UUID v4, otherwise false.

Example

isUUID("123e4567-e89b-12d3-a456-426614174000"); // true
isUUID("goldroger"); // false

generateUUID

Description

Generates a random UUID v4 string using a standard pattern.

Parameters

  • None

Returns

(string): A randomly generated UUID v4.

Example

generateUUID(); // "3f2504e0-4f89-41d3-9a0c-0305e82c3301"

removeDuplicateChars

Description

Removes duplicate characters from a string, preserving the first occurrence of each character.

Parameters

  • str (string): The string from which to remove duplicate characters.

Returns

(string): A string with duplicate characters removed.

Example

removeDuplicateChars("goingmerry"); // "goingmery"

percentEncode

Description

Encodes a string by replacing each instance of certain characters with one, two, three, or four escape sequences representing the UTF-8 encoding of the character.

Parameters

  • str (string): The string to percent-encode.

Returns

(string): The percent-encoded string.

Example

percentEncode("One Piece: Grand Line!"); // "One%20Piece%3A%20Grand%20Line%21"

percentDecode

Description

Decodes a percent-encoded string back to its original representation.

Parameters

  • str (string): The percent-encoded string to decode.

Returns

(string): The decoded string.

Example

percentDecode("One%20Piece%3A%20Grand%20Line%21"); // "One Piece: Grand Line!"

getByteLength

Description

Calculates the byte length of a string using Blob, accounting for multi-byte characters.

Parameters

  • str (string): The string to measure.

Returns

(number): The byte length of the string.

Example

getByteLength("Going Merry"); // 11
getByteLength("ゾロ"); // 6

endsWithPunctuation

Description

Checks if a string ends with a punctuation mark: period, exclamation point, or question mark.

Parameters

  • str (string): The string to check.

Returns

(boolean): true if the string ends with punctuation, otherwise false.

Example

endsWithPunctuation("I’m gonna be King!"); // true
endsWithPunctuation("Going Merry"); // false

stringSimilarity

Description

Calculates the similarity between two strings as the ratio of matching characters at the same positions to the length of the longer string.

Parameters

  • a (string): The first string to compare.
  • b (string): The second string to compare.

Returns

(number): A similarity score between 0 and 1, where 1 means identical strings.

Example

stringSimilarity("Going Merry", "Going Meriy"); // 0.9
stringSimilarity("Luffy", "Zoro"); // 0.2

censor

Description

Censors specified words in a string by replacing them with a mask character repeated for the word's length.

Parameters

  • str (string): The input string to censor.
  • words (string[]): An array of words to be censored.
  • mask (string, optional): The character used for masking. Defaults to '*'.

Returns

(string): The censored string with specified words masked.

Example

censor("I want to be Pirate King", ["Pirate"]); // "I want to be ****** King"
censor("Zoro is a swordsman", ["Zoro"], "#"); // "#### is a swordsman"

safeJsonParse

Description

Safely parses a JSON string, returning null if parsing fails.

Parameters

  • str (string): The JSON string to parse.

Returns

(T | null): The parsed object of type T, or null if parsing fails.

Example

safeJsonParse<{ name: string }>('{"name":"Luffy"}'); // { name: "Luffy" }
safeJsonParse("invalid json"); // null

mirrorString

Description

Creates a mirrored string by appending the reverse of the input string to itself.

Parameters

  • str (string): The string to mirror.

Returns

(string): The mirrored string.

Example

mirrorString("OnePiece"); // "OnePieceeceiPnO"
mirrorString("Luffy"); // "LuffyyffuL"

removeHtmlTags

Description

Removes all HTML tags from a string, leaving only the plain text content.

Parameters

  • str (string): The string containing HTML tags to remove.

Returns

(string): The string with HTML tags removed.

Example

removeHtmlTags("<p>Going Merry</p>"); // "Going Merry"
removeHtmlTags("<div><span>Luffy</span> is Pirate King</div>"); // "Luffy is Pirate King"

unescapeHtml

Description

Converts HTML escape sequences back to their corresponding characters.

Parameters

  • str (string): The string containing HTML escape sequences.

Returns

(string): The unescaped string with HTML entities converted to characters.

Example

unescapeHtml("Luffy &amp; Zoro &lt; Sanji"); // "Luffy & Zoro < Sanji"
unescapeHtml("He said &quot;Pirate King&quot;"); // "He said \"Pirate King\""

countCharacterOccurrences

Description

Counts how many times a specific character appears in a string.

Parameters

  • str (string): The string to search within.
  • char (string): The character to count occurrences of.

Returns

(number): The number of occurrences of the character in the string.

Example

countCharacterOccurrences("Going Merry", "r"); // 2
countCharacterOccurrences("Luffy", "z"); // 0

extractInitials

Description

Extracts and returns the uppercase initials from each word in a string.

Parameters

  • str (string): The input string to extract initials from.

Returns

(string): A string of uppercase initials.

Example

extractInitials("Monkey D Luffy"); // "MDL"
extractInitials("Going Merry"); // "GM"

stripAnsiCodes

Description

Removes ANSI escape codes (used for terminal colors and formatting) from a string.

Parameters

  • str (string): The string potentially containing ANSI codes.

Returns

(string): The cleaned string without ANSI escape codes.

Example

stripAnsiCodes("\u001b[31mRed Text\u001b[0m"); // "Red Text"
stripAnsiCodes("Going Merry"); // "Going Merry"

removeAllNumbers

Description

Removes all numeric digits from a string.

Parameters

  • str (string): The string to remove numbers from.

Returns

(string): The string with all numbers removed.

Example

removeAllNumbers("Going123 Merry456"); // "Going Merry"
removeAllNumbers("One Piece 2024"); // "One Piece "

extractAllNumbers

Description

Extracts all sequences of digits from a string as an array of strings.

Parameters

  • str (string): The string to extract numbers from.

Returns

(string[]): An array of number strings found in the input.

Example

extractAllNumbers("Going123 Merry456"); // ["123", "456"]
extractAllNumbers("One Piece 2024"); // ["2024"]
extractAllNumbers("No numbers here"); // []

padCenter

Description

Centers a string by padding it equally on both sides to reach a specified total length.

Parameters

  • str (string): The string to pad.
  • length (number): The desired total length after padding.
  • pad (string, optional): The character used for padding. Defaults to a space.

Returns

(string): The centered and padded string.

Example

padCenter("Luffy", 11); // "   Luffy   "
padCenter("Going Merry", 15, "*"); // "***Going Merry***"

hasEmoji

Description

Checks if a string contains any emoji characters within the Unicode range U+1F600 to U+1F6FF.

Parameters

  • str (string): The string to check for emojis.

Returns

(boolean): true if the string contains at least one emoji, otherwise false.

Example

hasEmoji("Luffy 😀"); // true
hasEmoji("Going Merry"); // false

extractEmoji

Description

Extracts all emoji characters from a string within the Unicode range U+1F600 to U+1F6FF.

Parameters

  • str (string): The string to extract emojis from.

Returns

(string[]): An array of emoji characters found in the string.

Example

extractEmoji("Luffy 😀 and Zoro 🗡️"); // ["😀", "🗡️"]
extractEmoji("Going Merry"); // []

toCurrencyFormat

Description

Formats a numeric string as currency using the specified currency code (default is USD).

Parameters

  • numStr (string): The numeric string to format.
  • currency (string, optional): The ISO 4217 currency code. Defaults to 'USD'.

Returns

(string): The formatted currency string.

Example

toCurrencyFormat("1234.56"); // "$1,234.56"
toCurrencyFormat("1234.56", "EUR"); // "€1,234.56"

stripSpaces

Description

Removes all whitespace characters from a string.

Parameters

  • str (string): The string to remove spaces from.

Returns

(string): The string without any spaces.

Example

stripSpaces("Going Merry"); // "GoingMerry"
stripSpaces("  Luffy  is  Pirate  King  "); // "LuffyisPirateKing"

extractDomain

Description

Extracts the domain (hostname) from a given URL string.

Parameters

  • url (string): The URL to extract the domain from.

Returns

(string): The domain name (hostname) of the URL.

Example

extractDomain("https://onepiece.com/crew/luffy"); // "onepiece.com"
extractDomain("http://goingmerry.ship/log"); // "goingmerry.ship"

extractTLD

Description

Extracts the top-level domain (TLD) from a given URL string.

Parameters

  • url (string): The URL to extract the TLD from.

Returns

(string): The top-level domain of the URL, or an empty string if none found.

Example

extractTLD("https://onepiece.com/crew/luffy"); // "com"
extractTLD("http://goingmerry.ship/log"); // "ship"

removeAlphanumeric

Description

Removes all alphanumeric characters (letters and digits) from a string.

Parameters

  • str (string): The string to remove alphanumeric characters from.

Returns

(string): The string with all letters and digits removed.

Example

removeAlphanumeric("Going123 Merry456!@#"); // " !@#"
removeAlphanumeric("OnePiece2024!"); // "!"

getMiddleCharacter

Description

Returns the middle character of a string. If the string length is even, it returns the character just right of center.

Parameters

  • str (string): The string to get the middle character from.

Returns

(string): The middle character or an empty string if the input is empty.

Example

getMiddleCharacter("Going"); // "i"
getMiddleCharacter("Merry"); // "r"
getMiddleCharacter(""); // ""

insertAt

Description

Inserts a given string value into another string at a specified index.

Parameters

  • str (string): The original string.
  • index (number): The position at which to insert the value.
  • value (string): The string to insert.

Returns

(string): The new string with the value inserted.

Example

insertAt("Going Merry", 6, "D "); // "Going D Merry"
insertAt("OnePiece", 3, "-"); // "One-Piece"

removeAt

Description

Removes a specified number of characters from a given string starting at a specific index.

Parameters

  • str (string): The original string.
  • index (number): The starting index from which characters will be removed.
  • count (number, optional): The number of characters to remove. Defaults to 1.

Returns

  • string: A new string with the specified characters removed. If the index is invalid or the count is not positive, the original string is returned.

Example

removeAt("Going Merry", 6, 2);
// Output: "Going erry"

removeAt("Thousand Sunny", 9);
// Output: "Thousand Suny"

removeAt("Zoro", 0, 3);
// Output: "o"

reverseSentences

Description

Reverses the order of sentences in a string. Sentences are assumed to be separated by periods.

Parameters

  • str (string): The string containing sentences to reverse.

Returns

(string): The string with sentence order reversed, preserving punctuation.

Example

reverseSentences("Luffy is brave. Zoro is strong. Nami is smart.");
// "Nami is smart. Zoro is strong. Luffy is brave."

capitalizeSentences

Description

Capitalizes the first letter of each sentence in a string.

Parameters

  • str (string): The string containing sentences to capitalize.

Returns

(string): The string with the first letter of each sentence capitalized.

Example

capitalizeSentences("luffy is brave. zoro is strong! nami is smart?");
// "Luffy is brave. Zoro is strong! Nami is smart?"

decapitalize

Description

Converts the first character of a string to lowercase.

Parameters

  • str (string): The string to decapitalize.

Returns

(string): The string with the first character in lowercase.

Example

decapitalize("Luffy"); // "luffy"
decapitalize("GoingMerry"); // "goingMerry"

toUpperFirstChar

Description

Converts the first character of a string to uppercase.

Parameters

  • str (string): The string to transform.

Returns

(string): The string with the first character in uppercase.

Example

toUpperFirstChar("luffy"); // "Luffy"
toUpperFirstChar("goingMerry"); // "GoingMerry"

toLowerFirstChar

Description

Converts the first character of a string to lowercase.

Parameters

  • str (string): The string to transform.

Returns

(string): The string with the first character in lowercase.

Example

toLowerFirstChar("Luffy"); // "luffy"
toLowerFirstChar("GoingMerry"); // "goingMerry"

removeQuotes

Description

Removes leading and trailing single or double quotes from a string.

Parameters

  • str (string): The string to remove quotes from.

Returns

(string): The string without leading or trailing quotes.

Example

removeQuotes('"Going Merry"'); // "Going Merry"
removeQuotes("'One Piece'"); // "One Piece"

surroundWithQuotes

Description

Wraps a given string with the specified type of quotation marks.

Parameters

  • str (string): The string to be wrapped.
  • quoteType ('"' | '\'', optional): The type of quotation mark to use. Defaults to double quotes (").

Returns

  • string: The input string wrapped with the specified quotation marks.

Example

surroundWithQuotes("Luffy");
// Output: "\"Luffy\""

surroundWithQuotes("Zoro", "'");
// Output: "'Zoro'"

formatPhoneNumber

Description

Formats a 10-digit phone number string into the format (XXX) XXX-XXXX.

Parameters

  • num (string): The 10-digit phone number string.

Returns

(string): The formatted phone number.

Example

formatPhoneNumber("1234567890"); // "(123) 456-7890"
formatPhoneNumber("9876543210"); // "(987) 654-3210"

convertToBinary

Description

Converts each character in a string to its binary representation, separated by spaces.

Parameters

  • str (string): The string to convert.

Returns

(string): A string of binary numbers representing each character.

Example

convertToBinary("Luffy"); // "1001100 1110101 1100110 1100110 1111001"
convertToBinary("Merry"); // "1001101 1100101 1110010 1110010 1111001"

binaryToString

Description

Converts a string of binary numbers (separated by spaces) back to the original string.

Parameters

  • bin (string): The binary string to convert.

Returns

(string): The decoded original string.

Example

binaryToString("1001100 1110101 1100110 1100110 1111001"); // "Luffy"
binaryToString("1001101 1100101 1110010 1110010 1111001"); // "Merry"

convertToHex

Description

Converts each character in a string to its hexadecimal representation, separated by spaces.

Parameters

  • str (string): The string to convert.

Returns

(string): A string of hexadecimal numbers representing each character.

Example

convertToHex("Luffy"); // "4c 75 66 66 79"
convertToHex("Merry"); // "4d 65 72 72 79"

hexToString

Description

Converts a string of hexadecimal numbers (separated by spaces) back to the original string.

Parameters

  • hex (string): The hexadecimal string to convert.

Returns

(string): The decoded original string.

Example

hexToString("4c 75 66 66 79"); // "Luffy"
hexToString("4d 65 72 72 79"); // "Merry"

htmlEntityEncode

Description

Encodes special characters in a string into their corresponding HTML entities.

Parameters

  • str (string): The string to encode.

Returns

(string): The HTML entity encoded string.

Example

htmlEntityEncode("One Piece & Going Merry <3");
// "One&#32;Piece&#32;&#38;&#32;Going&#32;Merry&#32;&#60;3"

htmlEntityDecode

Description

Decodes HTML entities in a string back to their original characters.

Parameters

  • str (string): The string with HTML entities to decode.

Returns

(string): The decoded string.

Example

htmlEntityDecode("One&#32;Piece&#32;&#38;&#32;Going&#32;Merry&#32;&#60;3");
// "One Piece & Going Merry <3"

countLines

Description

Counts the number of lines in a string, supporting different newline formats.

Parameters

  • str (string): The string to count lines in.

Returns

(number): The total number of lines.

Example

countLines("I want to be King.\nAnd rule the seas."); // 2
countLines("Going Merry\r\nIs my ship."); // 2

getFirstLine

Description

Extracts the first line from a string.

Parameters

  • str (string): The string to extract the first line from.

Returns

(string): The first line of the string or an empty string if none.

Example

getFirstLine("I am Luffy.\nThe future Pirate King."); // "I am Luffy."
getFirstLine("Going Merry"); // "Going Merry"

getLastLine

Description

Extracts the last line from a string.

Parameters

  • str (string): The string to extract the last line from.

Returns

(string): The last line of the string or an empty string if none.

Example

getLastLine("I am Luffy.\nThe future Pirate King."); // "The future Pirate King."
getLastLine("Going Merry"); // "Going Merry"

highlightSubstr

Description

Highlights all occurrences of a substring within a string by wrapping them with a specified tag.

Parameters

  • str (string): The main string.
  • substr (string): The substring to highlight.
  • tag (string, optional): The tag or marker to wrap around the substring (default is '**').

Returns

(string): The string with highlighted substrings.

Example

highlightSubstr("Going Merry is my ship", "Merry"); // "Going **Merry** is my ship"
highlightSubstr("Luffy is the Pirate King", "Pirate", "__"); // "Luffy is the __Pirate__ King"

replaceAt

Description

Replaces the character at a specified index in a string with a new character.

Parameters

  • str (string): The original string.
  • index (number): The zero-based index at which to replace the character.
  • char (string): The new character to insert.

Returns

(string): The resulting string after replacement.

Example

replaceAt("Going Merry", 6, "S"); // "Going Serry"
replaceAt("Luffy", 0, "D"); // "Duffy"

stripLeadingZeros

Description

Removes all leading zeros from a numeric string.

Parameters

  • str (string): The string to process.

Returns

(string): The string without leading zeros.

Example

stripLeadingZeros("00012345"); // "12345"
stripLeadingZeros("007"); // "7"

removeDuplicatesWords

Description

Removes duplicate words from a string, preserving the original word order.

Parameters

  • str (string): The string to process.

Returns

(string): The string with duplicate words removed.

Example

removeDuplicatesWords("Pirate King Pirate Adventure"); // "Pirate King Adventure"
removeDuplicatesWords("Luffy Luffy Straw Hat Straw Hat"); // "Luffy Straw Hat"

sortWords

Description

Sorts the words in a string alphabetically.

Parameters

  • str (string): The string containing words to sort.

Returns

(string): The string with words sorted alphabetically.

Example

sortWords("Zoro Luffy Sanji"); // "Luffy Sanji Zoro"
sortWords("Going Merry Thousand Sunny"); // "Going Merry Sunny Thousand"

uniqueWords

Description

Extracts unique words from a string, ignoring punctuation.

Parameters

  • str (string): The string to extract words from.

Returns

(string[]): An array of unique words.

Example

uniqueWords("Luffy, Zoro, Luffy!"); // ["Luffy", "Zoro"]
uniqueWords("Going Merry. Going! Sunny?"); // ["Going", "Merry", "Sunny"]

toTitleCase

Description

Converts the first letter of each word in a string to uppercase, making it title case.

Parameters

  • str (string): The string to convert.

Returns

(string): The string converted to title case.

Example

toTitleCase("going merry ship"); // "Going Merry Ship"
toTitleCase("the straw hat pirates"); // "The Straw Hat Pirates"

slugToCamelCase

Description

Converts a slug-case string (kebab-case) into camelCase by replacing hyphens followed by a letter with the uppercase version of that letter.

Parameters

  • str (string): The slug-case string to convert.

Returns

(string): The converted camelCase string.

Example

slugToCamelCase("going-merry"); // "goingMerry"
slugToCamelCase("straw-hat-pirates"); // "strawHatPirates"

camelCaseToSlug

Description

Converts a camelCase string into slug-case (kebab-case) by inserting hyphens before uppercase letters and converting all letters to lowercase.

Parameters

  • str (string): The camelCase string to convert.

Returns

(string): The converted slug-case string.

Example

camelCaseToSlug("goingMerry"); // "going-merry"
camelCaseToSlug("strawHatPirates"); // "straw-hat-pirates"

removeSpecialChars

Description

Removes all special characters from a string, leaving only alphanumeric characters and whitespace.

Parameters

  • str (string): The string to clean.

Returns

(string): The string without special characters.

Example

removeSpecialChars("Luffy@#123!"); // "Luffy123"
removeSpecialChars("Straw Hat Pirates!!"); // "Straw Hat Pirates"

countPunctuation

Description

Counts the number of punctuation characters in a string. Includes characters like period, comma, exclamation mark, question mark, semicolon, and colon.

Parameters

  • str (string): The string to analyze.

Returns

(number): The count of punctuation characters.

Example

countPunctuation("Ready for battle! Are you?"); // 2
countPunctuation("Yohoho! Let's go..."); // 4

countUppercase

Description

Counts the number of uppercase letters in a string.

Parameters

  • str (string): The string to analyze.

Returns

(number): The count of uppercase letters.

Example

countUppercase("StrawHatPirates"); // 3
countUppercase("One Piece"); // 2

countLowercase

Description

Counts the number of lowercase letters in a string.

Parameters

  • str (string): The string to analyze.

Returns

(number): The count of lowercase letters.

Example

countLowercase("StrawHatPirates"); // 11
countLowercase("One Piece"); // 5

shuffleCharacters

Description

Randomly shuffles the characters in a string, returning a new string with characters in a random order.

Parameters

  • str (string): The string to shuffle.

Returns

(string): The shuffled string.

Example

shuffleCharacters("GoingMerry"); // "eGnriyMog" (example output, random)
shuffleCharacters("OnePiece"); // "eicnOeP" (example output, random)

containsUppercase

Description

Checks if a string contains at least one uppercase letter.

Parameters

  • str (string): The string to check.

Returns

(boolean): true if the string contains an uppercase letter, otherwise false.

Example

containsUppercase("GoingMerry"); // true
containsUppercase("goingmerry"); // false

containsLowercase

Description

Checks if a string contains at least one lowercase letter.

Parameters

  • str (string): The string to check.

Returns

(boolean): true if the string contains a lowercase letter, otherwise false.

Example

containsLowercase("GoingMerry"); // true
containsLowercase("GOINGMERRY"); // false

rotateString

Description

Rotates a string by moving the first n characters to the end of the string.

Parameters

  • str (string): The string to rotate.
  • n (number): The number of characters to rotate from the start.

Returns

(string): The rotated string.

Example

rotateString("GoingMerry", 3); // "ingMerryGo"
rotateString("OnePiece", 2); // "ePieceOn"

toggleCase

Description

Toggles the case of each character in a string: uppercase letters become lowercase and vice versa.

Parameters

  • str (string): The string to toggle case.

Returns

(string): The string with toggled case for every character.

Example

toggleCase("GoingMerry"); // "gOINGmERRY"
toggleCase("ONEpiece"); // "onePIECE"

reverseEachWord

Description

Reverses each individual word in a string while keeping the word order intact.

Parameters

  • str (string): The string whose words will be reversed.

Returns

(string): The string with each word reversed but in the original word order.

Example

reverseEachWord("Going Merry"); // "gni oG yrreM"
reverseEachWord("One Piece"); // "enO eci eP"

splitToWords

Description

Splits a string into an array of words by whitespace, trimming leading and trailing spaces.

Parameters

  • str (string): The string to split into words.

Returns

(string[]): An array of words extracted from the string.

Example

splitToWords(" Going Merry  crew "); // ["Going", "Merry", "crew"]
splitToWords("One Piece adventure"); // ["One", "Piece", "adventure"]

countSentences

Description

Counts the number of sentences in a given string. A sentence is considered to end with a period (.), exclamation mark (!), or question mark (?) that follows a word character or a closing parenthesis.

Parameters

  • str (string): The input string to evaluate.

Returns

(number): The number of sentences found in the input string.

Example

countSentences("Luffy became the Pirate King. Zoro asked, 'Where's the next island?' Sanji cooked dinner!"); // 3

countSentences

Description

Counts the number of sentences in a given string. A sentence is considered to end with a period (.), exclamation mark (!), or question mark (?) that follows a word character or a closing parenthesis.

Parameters

  • str (string): The input string to evaluate.

Returns

(number): The number of sentences found in the input string.

Example

countSentences("Luffy became the Pirate King. Zoro asked, 'Where's the next island?' Sanji cooked dinner!");
// Output: 3

extractSentences

Description

Extracts all sentences from a given string. A sentence is considered any sequence of characters ending with a period (.), exclamation mark (!), or question mark (?).

Parameters

  • str (string): The input string to extract sentences from.

Returns

(string[]): An array of sentences extracted from the input string.

Example

extractSentences("Nami drew the map. Usopp told a funny story! Chopper asked, 'Is that safe?'");
// Output: ["Nami drew the map.", " Usopp told a funny story!", " Chopper asked, 'Is that safe?'"]

generateAcronym

Description

Generates an acronym from a given string by taking the first letter of each word and converting it to uppercase.

Parameters

  • str (string): The input string to convert into an acronym.

Returns

(string): The resulting acronym in uppercase letters.

Example

generateAcronym("Straw Hat Pirates");
// Output: "SHP"

titleToSlug

Description

Converts a given title string into a URL-friendly slug by converting it to lowercase, removing special characters, trimming whitespace, and replacing spaces with hyphens.

Parameters

  • str (string): The input title string to convert.

Returns

(string): The generated slug string.

Example

titleToSlug("One Piece: Adventure on the Grand Line!");
// Output: "one-piece-adventure-on-the-grand-line"

sanitizeFileName

Description

Sanitizes a filename string by replacing characters that are invalid in file names (/ \ : * ? " < > |) with underscores (_).

Parameters

  • str (string): The filename string to sanitize.

Returns

(string): The sanitized filename with invalid characters replaced.

Example

sanitizeFileName("Luffy/Straw:Hat|Adventure?.txt");
// Output: "Luffy_Straw_Hat_Adventure_.txt"

isIpAddress

Description

Checks if a given string is a valid IPv4 address in the format x.x.x.x, where x is a number from 0 to 999 (note: does not validate ranges beyond 0-255).

Parameters

  • str (string): The string to validate as an IP address.

Returns

(boolean): true if the string matches the IPv4 format, otherwise false.

Example

isIpAddress("123.45.67.89");
// Output: true

isIpAddress("Going.Merry");
// Output: false

isUrl

Description

Checks if a given string is a valid HTTP or HTTPS URL.

Parameters

  • str (string): The string to validate as a URL.

Returns

(boolean): true if the string is a valid URL starting with http:// or https://, otherwise false.

Example

isUrl("https://goingmerry.onepiece.com");
// Output: true

isUrl("GoingMerryShip");
// Output: false

getFileExtension

Description

Extracts the file extension from a given filename string. Returns an empty string if no extension is found.

Parameters

  • str (string): The filename string to extract the extension from.

Returns

(string): The file extension without the dot, or an empty string if none exists.

Example

getFileExtension("thousand_sunny.png");
// Output: "png"

getFileExtension("goingmerry");
// Output: ""

removeFileExtension

Description

Removes the file extension from a given filename string.

Parameters

  • str (string): The filename string to process.

Returns

(string): The filename without its extension.

Example

removeFileExtension("thousand_sunny.png");
// Output: "thousand_sunny"

removeFileExtension("goingmerry");
// Output: "goingmerry"

isNumericString

Description

Checks if a given string consists only of numeric digits (0-9).

Parameters

  • str (string): The string to check.

Returns

(boolean): true if the string contains only digits, otherwise false.

Example

isNumericString("123456");
// Output: true
isNumericString("Zoro123");
// Output: false

compactWhitespace

Description

Replaces consecutive whitespace characters in a string with a single space and trims leading and trailing whitespace.

Parameters

  • str (string): The input string to compact whitespace in.

Returns

(string): The string with compacted whitespace.

Example

compactWhitespace("  Going   Merry   is   the   best  ship!  ");
// Output: "Going Merry is the best ship!"

unescapeBackslashes

Description

Removes backslash escaping from characters in a string by replacing occurrences of a backslash followed by any character with just that character.

Parameters

  • str (string): The input string containing escaped characters.

Returns

(string): The unescaped string with backslashes removed.

Example

unescapeBackslashes("Luffy\\'s\\ adventure\\!");
// Output: "Luffy's adventure!"

stringToUnicode

Description

Converts each character in a string to its Unicode escape sequence representation.

Parameters

  • str (string): The input string to convert.

Returns

(string): A string representing the Unicode escape sequences of each character.

Example

stringToUnicode("Luffy");
// Output: "\u004c\u0075\u0066\u0066\u0079"

unicodeToString

Description

Converts a string of Unicode escape sequences back to the original string.

Parameters

  • unicodeStr (string): The string containing Unicode escape sequences.

Returns

(string): The decoded string with Unicode sequences converted to characters.

Example

unicodeToString("\\u004c\\u0075\\u0066\\u0066\\u0079");
// Output: "Luffy"

removeVowels

Description

Removes all vowels (a, e, i, o, u) from a given string, case-insensitive.

Parameters

  • str (string): The input string to process.

Returns

(string): The string with all vowels removed.

Example

removeVowels("Monkey D. Luffy");
// Output: "Mnky D. Lffy"

removeConsonants

Description

Removes all consonants from a given string, keeping only vowels, whitespace, and digits.

Parameters

  • str (string): The input string to process.

Returns

(string): The string with all consonants removed.

Example

removeConsonants("Monkey D. Luffy 123");
// Output: "o e  u y 123"

alternateCase

Description

Converts a string so that characters at even indices are uppercase and characters at odd indices are lowercase.

Parameters

  • str (string): The input string to transform.

Returns

(string): The string with alternating uppercase and lowercase characters.

Example

alternateCase("Going Merry");
// Output: "GoInG MeRrY"

randomStringBase36

Description

Generates a random string of specified length using base-36 characters (0-9, a-z).

Parameters

  • length (number): The desired length of the random s