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

@c_s_v_s_subrahmanyam/string-utils

v1.0.4

Published

A comprehensive utility library for advanced string operations.

Readme

@c_s_v_s_subrahmanyam/string-utils

A comprehensive set of string manipulation utilities implemented in JavaScript. This package offers a variety of custom functions for string analysis, transformation, checks, and more.

All string operations are implemented manually without relying on inbuilt functions for educational purposes.

Installation

You can install the package via npm:

npm install @c_s_v_s_subrahmanyam/string-utils

Usage

Once installed, you can use the string utilities in your JavaScript code like so:

const stringUtils = require('@c_s_v_s_subrahmanyam/string-utils');

// Translate string using a mapping
const mapping = { 'a': '1', 'b': '2', 'c': '3' };
console.log(stringUtils.translate('abc', mapping)); // 123

// Expand tabs with a specified tab size
console.log(stringUtils.expandTabs('Hello\tWorld', 4)); // Hello    World

// Iterate over characters of a string
console.log(stringUtils.iterateCharacters('Hello')); // ['H', 'e', 'l', 'l', 'o']

// Get length of string
console.log(stringUtils.getLength('Hello World')); // 11

// Count words in a string
console.log(stringUtils.countWords('Hello World! This is a test.')); // 6

// Reverse a string
console.log(stringUtils.reverse('abcd')); // dcba

// Convert string to uppercase
console.log(stringUtils.toUpperCase('hello')); // HELLO

The remaining functions' sample code is available in the test.js file

Available Functions

String Translation

  • translate(str, mapping): Translates characters in the string according to the provided mapping.

String Expansion and Iteration

  • expandTabs(str, tabSize): Expands tabs in the string with a specified tab size (default 4).
  • iterateCharacters(str): Returns an array of characters in the string.

Indexing and Slicing

  • sliceString(str, start, end): Slices the string from start to end indices.
  • getIndex(str, index): Returns the character at the specified index in the string.

String Partitioning

  • splitAt(str, index): Splits the string at the specified index into two parts.
  • partition(str, delimiter): Partitions the string at the first occurrence of the delimiter.
  • rpartition(str, delimiter): Partitions the string at the last occurrence of the delimiter.

Encoding and Decoding

  • encodeToBytes(str): Encodes the string into a byte array (UTF-8).
  • decodeFromBytes(bytes): Decodes a byte array into a string.
  • encodeBase64(str): Encodes the string to Base64.
  • decodeBase64(str): Decodes a Base64 string back to its original format.
  • encodeURI(str): Encodes the string as a URI.
  • decodeURI(str: Decodes a URI-encoded string.

String Analytics

  • countCharacters(str): Returns the number of characters in the string.
  • characterFrequency(str): Returns the frequency of each character in the string.
  • startsWith(str, search): Checks if the string starts with the specified substring.
  • endsWith(str, search): Checks if the string ends with the specified substring.
  • substring(str, start, end): Returns a substring from start to end indices.
  • split(str, delimiter): Splits the string by the specified delimiter.
  • join(array, delimiter): Joins an array of strings into one string using the specified delimiter.

Case Folding and Normalization

  • caseFold(str): Converts the string to lowercase.
  • normalize(str, form): Normalizes the string to a specific Unicode form (default: 'NFC').

String Comparison Utilities

  • equalsIgnoreCase(str1, str2): Compares two strings ignoring case.
  • compareLexicographically(str1, str2): Compares two strings lexicographically.
  • startsWith(str, prefix): Checks if the string starts with the specified prefix.
  • endsWith(str, suffix): Checks if the string ends with the specified suffix.
  • containsSubstring(str, substring): Checks if the string contains the specified substring.

Prefix and Suffix Utilities

  • removePrefix(str, prefix): Removes the specified prefix from the string.
  • removeSuffix(str, suffix): Removes the specified suffix from the string.

Regex Utilities

  • match(str, regex): Returns an array of matches found using the regex.
  • replaceRegex(str, regex, replacement): Replaces matched substrings with the replacement string.
  • testRegex(str, regex): Tests if the string matches the given regex pattern.
  • extractEmails(str): Extracts all emails from the string.
  • extractURLs(str): Extracts all URLs from the string.

String Repetition

  • repeatString(str, times): Repeats the string the specified number of times.
  • generateCaptcha(length): Generates a random captcha string of the specified length (default 6).

Sorting Utilities

  • sortCharacters(str, order): Sorts the characters in the string in ascending or descending order.
  • sortWords(str, order): Sorts the words in the string in ascending or descending order.
  • uniqueCharacters(str): Returns a string with unique characters from the original string.

String Transformations

  • toUpperCase(str): Converts the string to uppercase.
  • toLowerCase(str): Converts the string to lowercase.
  • reverse(str): Reverses the string.
  • concatenate(...args): Concatenates multiple strings into one.
  • replace(str, search, replace): Replaces all occurrences of search in the string with replace.
  • trim(str): Trims leading and trailing whitespace from the string.
  • padStart(str, length, char): Pads the start of the string to the specified length with the given character.
  • padEnd(str, length, char): Pads the end of the string to the specified length with the given character.
  • caseConversion(str, targetCase): Converts the string to camelCase, snake_case, or kebab-case.

Unicode Operations

  • charAt(str, index): Returns the character at the specified index.
  • charCodeAt(str, index): Returns the Unicode value of the character at the specified index.
  • fromCharCode(...codes): Returns a string created from the given Unicode character codes.
  • toUnicode(str): Converts the string to Unicode escape sequences.
  • fromUnicode(unicodeStr): Converts a Unicode escape sequence string to a regular string.

Validators for Strings

  • isEmail(str): Checks if the string is a valid email address.
  • isURL(str): Checks if the string is a valid URL.
  • isPalindrome(str): Checks if the string is a palindrome (ignoring non-alphanumeric characters).
  • isAlphanumeric(str): Checks if the string contains only alphanumeric characters.
  • isDigit(str): Checks if the string is a valid number.
  • isSpace(str): Checks if the string contains only whitespace characters.
  • passwordStrength(password): Returns the strength of the password ('Weak', 'Medium', 'Strong').

Unique Words and Word Analysis

  • findUniqueWords(str): Extracts and returns an array of unique words from the input string.
  • getShortestWord(str): Returns the shortest word in the string.
  • getLongestWord(str): Returns the longest word in the string.

Sentence and Line Counting

  • countSentences(str): Counts the number of sentences in the string.
  • countLines(str): Counts the number of lines in the string.

Word Filtering

  • getWordsStartingWithConsonants(str): Returns an array of words starting with consonants.
  • getWordsStartingWithVowels(str): Returns an array of words starting with vowels.

String Comparison and Substrings

  • isAnagram(str1, str2): Checks if two strings are anagrams of each other.
  • isPangram(str): Checks if the string contains all letters of the alphabet.
  • reverseSubstring(str, substring): Reverses the specified substring in the string.
  • isSubstring(str, substring): Checks if the substring exists within the string.

Random String and Substring Generation

  • generateRandomSubstring(str, length): Generates a random substring of the specified length from the string.
  • generateRandomString(length): Generates a random string of the specified length using alphanumeric characters.

Password Suggestions

  • generatePasswordSuggestions(base): Generates an array of password suggestions based on the input base string.

License

This package is open-source and available under the ISC License.