A collection of unicode-safe string functions inspired by other programming languages.
Install using NPM:
$ npm i safe-stringsImport specific functions:
const { center, capwords } = require('safe-strings');
center('my string', 20);
capwords('this is a test');Import the entire library:
const stringUtil = require('safe-strings');
stringUtil.center('my string', 20);
stringUtil.capwords('this is a test');Includes aliases and helpers inspired by Go/Python/Rust naming:
len, trim, trimStart, trimEnd, hasPrefix, hasSuffix, title,
capitalize, contains, startsWith, endsWith, reverse, slice,
repeat, join, count, replace, partition, rpartition, cut,
removePrefix, removeSuffix, stripPrefix, stripSuffix, trimPrefix,
trimSuffix, take, drop, and isEmpty.
- length(string) ⇒
number Get string length with unicode support
- split(string, [separator]) ⇒
Array.<string> Return an array of strings split by the separator.
- ljust(string, width, [fillChar]) ⇒
string Left-justify a string in a field of given width.
- rjust(string, width, [fillChar]) ⇒
string Right-justify a string in a field of given width.
- center(string, width, [fillChar]) ⇒
string Center a string in a field of given width.
- strip(string, [trimChar]) ⇒
string Return a copy of the string with leading and trailing characters removed.
- lstrip(string, [trimChar]) ⇒
string Return a copy of the string with leading characters removed.
- rstrip(string, [trimChar]) ⇒
string Return a copy of the string with trailing characters removed.
- swapcase(string) ⇒
string Return a copy of the string with lower case letters converted to upper case and vice versa.
- capwords(string, [separator]) ⇒
string Return a copy of the string with the first char of each separated word converted to upper case.
- ucfirst(string) ⇒
string Return a copy of the string with the first char converted to upper case.
- lcfirst(string) ⇒
string Return a copy of the string with the first char converted to lower case.
- nl2br(string, [breakElement]) ⇒
string Return a copy of the string with HTML line breaks (
) inserted before all newlines.- expandtabs(string, [tabsize]) ⇒
string Return a copy of the string with tab chars (\t) replaced by spaces.
- isEmpty(string) ⇒
boolean Return true if the string is empty.
- contains(string, substring) ⇒
boolean Return true if string contains the given substring.
- startsWith(string, prefix) ⇒
boolean Return true if string starts with the given prefix.
- endsWith(string, suffix) ⇒
boolean Return true if string ends with the given suffix.
- reverse(string) ⇒
string Return a new string with chars in reverse order.
- slice(string, [start], [end]) ⇒
string Return a unicode-safe string slice.
- repeat(string, count) ⇒
string Return a string repeated count times.
- join(strings, [separator]) ⇒
string Join an array of strings with a separator.
- count(string, substring) ⇒
number Count non-overlapping substring occurrences.
- replace(string, oldSubstring, newSubstring, [replaceCount]) ⇒
string Replace at most count occurrences of a substring.
- partition(string, separator) ⇒
Array.<string> Partition the string at the first occurrence of separator.
- rpartition(string, separator) ⇒
Array.<string> Partition the string at the last occurrence of separator.
- cut(string, separator) ⇒
Array.<(string|boolean)> Cut the string around the first occurrence of separator.
- removePrefix(string, prefix) ⇒
string Remove a leading prefix from the string if present.
- removeSuffix(string, suffix) ⇒
string Remove a trailing suffix from the string if present.
- take(string, count) ⇒
string Return the first count unicode characters.
- drop(string, count) ⇒
string Drop the first count unicode characters.
Get string length with unicode support
Kind: global function
Returns: number - The length of the string.
| Param | Description |
|---|---|
| string | The input string. |
Return an array of strings split by the separator.
Kind: global function
Returns: Array.<string> - An array of split strings.
| Param | Type | Default | Description |
|---|---|---|---|
| string | string |
The input string. | |
| [separator] | string |
"" |
The separator char. |
Left-justify a string in a field of given width.
Kind: global function
Returns: string - The padded string.
| Param | Type | Default | Description |
|---|---|---|---|
| string | string |
The input string. | |
| width | number |
The length of the resulting string once. | |
| [fillChar] | string |
" " |
The character used to pad the string. |
Right-justify a string in a field of given width.
Kind: global function
Returns: string - The padded string.
| Param | Type | Default | Description |
|---|---|---|---|
| string | string |
The input string. | |
| width | number |
The length of the resulting string once. | |
| [fillChar] | string |
" " |
The character used to pad the string. |
Center a string in a field of given width.
Kind: global function
Returns: string - The padded string.
| Param | Type | Default | Description |
|---|---|---|---|
| string | string |
The input string. | |
| width | number |
The length of the resulting string once. | |
| [fillChar] | string |
" " |
The character used to pad the string. |
Return a copy of the string with leading and trailing characters removed.
Kind: global function
Returns: string - The string with characters removed.
| Param | Type | Default | Description |
|---|---|---|---|
| string | string |
The input string. | |
| [trimChar] | string |
" " |
The character to be removed. |
Return a copy of the string with leading characters removed.
Kind: global function
Returns: string - The string with characters removed.
| Param | Type | Default | Description |
|---|---|---|---|
| string | string |
The input string. | |
| [trimChar] | string |
" " |
The character to be removed. |
Return a copy of the string with trailing characters removed.
Kind: global function
Returns: string - The string with characters removed.
| Param | Type | Default | Description |
|---|---|---|---|
| string | string |
The input string. | |
| [trimChar] | string |
" " |
The character to be removed. |
Return a copy of the string with lower case letters converted to upper case and vice versa.
Kind: global function
Returns: string - The swapped string
| Param | Type | Description |
|---|---|---|
| string | string |
The input string. |
Return a copy of the string with the first char of each separated word converted to upper case.
Kind: global function
Returns: string - The converted string
| Param | Type | Default | Description |
|---|---|---|---|
| string | string |
The input string. | |
| [separator] | string |
" " |
The separator char. |
Return a copy of the string with the first char converted to upper case.
Kind: global function
Returns: string - The converted string
| Param | Type | Description |
|---|---|---|
| string | string |
The input string. |
Return a copy of the string with the first char converted to lower case.
Kind: global function
Returns: string - The converted string
| Param | Type | Description |
|---|---|---|
| string | string |
The input string. |
Return a copy of the string with HTML line breaks (
) inserted before all newlines.
Kind: global function
Returns: string - The converted string
| Param | Type | Default | Description |
|---|---|---|---|
| string | string |
The input string. | |
| [breakElement] | string |
"<br>" |
The HTML line break string. |
Return a copy of the string with tab chars (\t) replaced by spaces.
Kind: global function
Returns: string - The swapped string
| Param | Type | Default | Description |
|---|---|---|---|
| string | string |
The input string. | |
| [tabsize] | number |
8 |
The input string. |
Return true if the string is empty.
Kind: global function
Returns: boolean - True if the string is empty.
| Param | Type | Description |
|---|---|---|
| string | string |
The input string. |
Return true if string contains the given substring.
Kind: global function
Returns: boolean - True if substring is found.
| Param | Type | Description |
|---|---|---|
| string | string |
The input string. |
| substring | string |
The substring to search for. |
Return true if string starts with the given prefix.
Kind: global function
Returns: boolean - True if string starts with prefix.
| Param | Type | Description |
|---|---|---|
| string | string |
The input string. |
| prefix | string |
The prefix to check. |
Return true if string ends with the given suffix.
Kind: global function
Returns: boolean - True if string ends with suffix.
| Param | Type | Description |
|---|---|---|
| string | string |
The input string. |
| suffix | string |
The suffix to check. |
Return a new string with chars in reverse order.
Kind: global function
Returns: string - The reversed string.
| Param | Type | Description |
|---|---|---|
| string | string |
The input string. |
Return a unicode-safe string slice.
Kind: global function
Returns: string - The sliced string.
| Param | Type | Default | Description |
|---|---|---|---|
| string | string |
The input string. | |
| [start] | number |
0 |
The start index. |
| [end] | number |
The end index. |
Return a string repeated count times.
Kind: global function
Returns: string - The repeated string.
| Param | Type | Description |
|---|---|---|
| string | string |
The input string. |
| count | number |
Number of repetitions. |
Join an array of strings with a separator.
Kind: global function
Returns: string - The joined string.
| Param | Type | Default | Description |
|---|---|---|---|
| strings | Array.<string> |
Strings to join. | |
| [separator] | string |
"""" |
Separator string. |
Count non-overlapping substring occurrences.
Kind: global function
Returns: number - Number of occurrences.
| Param | Type | Description |
|---|---|---|
| string | string |
The input string. |
| substring | string |
The substring to count. |
Replace at most count occurrences of a substring.
Kind: global function
Returns: string - The replaced string.
| Param | Type | Default | Description |
|---|---|---|---|
| string | string |
The input string. | |
| oldSubstring | string |
Substring to replace. | |
| newSubstring | string |
Replacement substring. | |
| [replaceCount] | number |
-1 |
Max replacements, -1 for all. |
Partition the string at the first occurrence of separator.
Kind: global function
Returns: Array.<string> - [before, separator, after]
| Param | Type | Description |
|---|---|---|
| string | string |
The input string. |
| separator | string |
The separator to search for. |
Partition the string at the last occurrence of separator.
Kind: global function
Returns: Array.<string> - [before, separator, after]
| Param | Type | Description |
|---|---|---|
| string | string |
The input string. |
| separator | string |
The separator to search for. |
Cut the string around the first occurrence of separator.
Kind: global function
Returns: Array.<(string|boolean)> - [before, after, found]
| Param | Type | Description |
|---|---|---|
| string | string |
The input string. |
| separator | string |
The separator to search for. |
Remove a leading prefix from the string if present.
Kind: global function
Returns: string - The string without prefix.
| Param | Type | Description |
|---|---|---|
| string | string |
The input string. |
| prefix | string |
The prefix to remove. |
Remove a trailing suffix from the string if present.
Kind: global function
Returns: string - The string without suffix.
| Param | Type | Description |
|---|---|---|
| string | string |
The input string. |
| suffix | string |
The suffix to remove. |
Return the first count unicode characters.
Kind: global function
Returns: string - The resulting string.
| Param | Type | Description |
|---|---|---|
| string | string |
The input string. |
| count | number |
Number of chars to keep. |
Drop the first count unicode characters.
Kind: global function
Returns: string - The resulting string.
| Param | Type | Description |
|---|---|---|
| string | string |
The input string. |
| count | number |
Number of chars to skip. |