{"id":21140666,"url":"https://github.com/stdlib-js/string","last_synced_at":"2025-10-24T09:32:16.459Z","repository":{"id":44965108,"uuid":"375454614","full_name":"stdlib-js/string","owner":"stdlib-js","description":"Standard library string manipulation functions.","archived":false,"fork":false,"pushed_at":"2024-11-20T03:41:46.000Z","size":19865,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-11-20T04:26:24.317Z","etag":null,"topics":["characters","javascript","lib","library","manipulation","node","node-js","nodejs","standard","stdlib","string","text","util","utilities","utility","utils"],"latest_commit_sha":null,"homepage":"https://github.com/stdlib-js/stdlib","language":"JavaScript","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stdlib-js.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["stdlib-js"],"open_collective":"stdlib","tidelift":"npm/@stdlib/stdlib"}},"created_at":"2021-06-09T18:31:55.000Z","updated_at":"2024-11-20T03:35:24.000Z","dependencies_parsed_at":"2023-10-05T10:39:09.757Z","dependency_job_id":"9df81243-3668-4552-bb71-f945461b9fa7","html_url":"https://github.com/stdlib-js/string","commit_stats":{"total_commits":254,"total_committers":1,"mean_commits":254.0,"dds":0.0,"last_synced_commit":"d9397cc2006697dd0dac1518a4bbdb58b70a528f"},"previous_names":[],"tags_count":45,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stdlib-js%2Fstring","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stdlib-js%2Fstring/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stdlib-js%2Fstring/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stdlib-js%2Fstring/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stdlib-js","download_url":"https://codeload.github.com/stdlib-js/string/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225482723,"owners_count":17481237,"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":["characters","javascript","lib","library","manipulation","node","node-js","nodejs","standard","stdlib","string","text","util","utilities","utility","utils"],"created_at":"2024-11-20T07:17:07.157Z","updated_at":"2025-10-24T09:32:16.351Z","avatar_url":"https://github.com/stdlib-js.png","language":"JavaScript","readme":"\u003c!--\n\n@license Apache-2.0\n\nCopyright (c) 2018 The Stdlib Authors.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n   http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n--\u003e\n\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    About stdlib...\n  \u003c/summary\u003e\n  \u003cp\u003eWe believe in a future in which the web is a preferred environment for numerical computation. To help realize this future, we've built stdlib. stdlib is a standard library, with an emphasis on numerical and scientific computation, written in JavaScript (and C) for execution in browsers and in Node.js.\u003c/p\u003e\n  \u003cp\u003eThe library is fully decomposable, being architected in such a way that you can swap out and mix and match APIs and functionality to cater to your exact preferences and use cases.\u003c/p\u003e\n  \u003cp\u003eWhen you use stdlib, you can be absolutely certain that you are using the most thorough, rigorous, well-written, studied, documented, tested, measured, and high-quality code out there.\u003c/p\u003e\n  \u003cp\u003eTo join us in bringing numerical computing to the web, get started by checking us out on \u003ca href=\"https://github.com/stdlib-js/stdlib\"\u003eGitHub\u003c/a\u003e, and please consider \u003ca href=\"https://opencollective.com/stdlib\"\u003efinancially supporting stdlib\u003c/a\u003e. We greatly appreciate your continued support!\u003c/p\u003e\n\u003c/details\u003e\n\n# String Manipulation\n\n[![NPM version][npm-image]][npm-url] [![Build Status][test-image]][test-url] [![Coverage Status][coverage-image]][coverage-url] \u003c!-- [![dependencies][dependencies-image]][dependencies-url] --\u003e\n\n\u003e String manipulation functions.\n\n\u003csection class=\"installation\"\u003e\n\n## Installation\n\n```bash\nnpm install @stdlib/string\n```\n\nAlternatively,\n\n-   To load the package in a website via a `script` tag without installation and bundlers, use the [ES Module][es-module] available on the [`esm`][esm-url] branch (see [README][esm-readme]).\n-   If you are using Deno, visit the [`deno`][deno-url] branch (see [README][deno-readme] for usage intructions).\n-   For use in Observable, or in browser/node environments, use the [Universal Module Definition (UMD)][umd] build available on the [`umd`][umd-url] branch (see [README][umd-readme]).\n\nThe [branches.md][branches-url] file summarizes the available branches and displays a diagram illustrating their relationships.\n\nTo view installation and usage instructions specific to each branch build, be sure to explicitly navigate to the respective README files on each branch, as linked to above.\n\n\u003c/section\u003e\n\n\u003csection class=\"usage\"\u003e\n\n## Usage\n\n```javascript\nvar string = require( '@stdlib/string' );\n```\n\n#### string\n\nNamespace containing string manipulation functions.\n\n```javascript\nvar str = string;\n// returns {...}\n```\n\nThe namespace exposes the following string manipulation functions:\n\n\u003c!-- \u003ctoc pattern=\"*\"\u003e --\u003e\n\n\u003cdiv class=\"namespace-toc\"\u003e\n\n-   \u003cspan class=\"signature\"\u003e[`acronym( str[, options] )`][@stdlib/string/acronym]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003egenerate an acronym for a given string.\u003c/span\u003e\n-   \u003cspan class=\"signature\"\u003e[`base`][@stdlib/string/base]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003ebase (i.e., lower-level) string functions.\u003c/span\u003e\n-   \u003cspan class=\"signature\"\u003e[`camelcase( str )`][@stdlib/string/camelcase]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003econvert a string to camel case.\u003c/span\u003e\n-   \u003cspan class=\"signature\"\u003e[`capitalize( str )`][@stdlib/string/capitalize]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003ecapitalize the first character in a string.\u003c/span\u003e\n-   \u003cspan class=\"signature\"\u003e[`codePointAt( string, position[, backward] )`][@stdlib/string/code-point-at]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003ereturn a Unicode code point from a string at a specified position.\u003c/span\u003e\n-   \u003cspan class=\"signature\"\u003e[`constantcase( str )`][@stdlib/string/constantcase]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003econvert a string to constant case.\u003c/span\u003e\n-   \u003cspan class=\"signature\"\u003e[`dotcase( str )`][@stdlib/string/dotcase]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003econvert a string to dot case.\u003c/span\u003e\n-   \u003cspan class=\"signature\"\u003e[`endsWith( str, search[, len] )`][@stdlib/string/ends-with]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003etest if a string ends with the characters of another string.\u003c/span\u003e\n-   \u003cspan class=\"signature\"\u003e[`first( str[, n][, options] )`][@stdlib/string/first]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003ereturn the first character(s) of a string.\u003c/span\u003e\n-   \u003cspan class=\"signature\"\u003e[`forEach( str, [options,] clbk[, thisArg ] )`][@stdlib/string/for-each]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003einvokes a function for each character in a string.\u003c/span\u003e\n-   \u003cspan class=\"signature\"\u003e[`format( str, ...args )`][@stdlib/string/format]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003einsert supplied variable values into a format string.\u003c/span\u003e\n-   \u003cspan class=\"signature\"\u003e[`fromCodePoint( pt1[, pt2[, pt3[, ...]]] )`][@stdlib/string/from-code-point]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003ecreate a string from a sequence of Unicode code points.\u003c/span\u003e\n-   \u003cspan class=\"signature\"\u003e[`headercase( str )`][@stdlib/string/headercase]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003econvert a string to HTTP header case.\u003c/span\u003e\n-   \u003cspan class=\"signature\"\u003e[`kebabcase( str )`][@stdlib/string/kebabcase]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003econvert a string to kebab case.\u003c/span\u003e\n-   \u003cspan class=\"signature\"\u003e[`last( str[, n][, options] )`][@stdlib/string/last]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003ereturn the last character(s) of a string.\u003c/span\u003e\n-   \u003cspan class=\"signature\"\u003e[`lpad( str, len[, pad] )`][@stdlib/string/left-pad]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003eleft pad a string.\u003c/span\u003e\n-   \u003cspan class=\"signature\"\u003e[`ltrimN( str, n[, chars] )`][@stdlib/string/left-trim-n]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003etrim `n` characters from the beginning of a string.\u003c/span\u003e\n-   \u003cspan class=\"signature\"\u003e[`ltrim( str )`][@stdlib/string/left-trim]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003etrim whitespace characters from the beginning of a string.\u003c/span\u003e\n-   \u003cspan class=\"signature\"\u003e[`lowercase( str )`][@stdlib/string/lowercase]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003econvert a string to lowercase.\u003c/span\u003e\n-   \u003cspan class=\"signature\"\u003e[`nextCodePointIndex( string[, fromIndex] )`][@stdlib/string/next-code-point-index]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003ereturn the position of the next Unicode code point in a string after a specified position.\u003c/span\u003e\n-   \u003cspan class=\"signature\"\u003e[`nextGraphemeClusterBreak( string[, fromIndex] )`][@stdlib/string/next-grapheme-cluster-break]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003ereturn the next extended grapheme cluster break in a string after a specified position.\u003c/span\u003e\n-   \u003cspan class=\"signature\"\u003e[`numGraphemeClusters( str )`][@stdlib/string/num-grapheme-clusters]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003ereturn the number of grapheme clusters in a string.\u003c/span\u003e\n-   \u003cspan class=\"signature\"\u003e[`num2words( value[, options] )`][@stdlib/string/num2words]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003econvert a number to a word representation.\u003c/span\u003e\n-   \u003cspan class=\"signature\"\u003e[`pad( str, len[, options] )`][@stdlib/string/pad]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003epad a string.\u003c/span\u003e\n-   \u003cspan class=\"signature\"\u003e[`pascalcase( str )`][@stdlib/string/pascalcase]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003econvert a string to Pascal case.\u003c/span\u003e\n-   \u003cspan class=\"signature\"\u003e[`percentEncode( str )`][@stdlib/string/percent-encode]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003epercent-encode a UTF-16 encoded string according to RFC 3986.\u003c/span\u003e\n-   \u003cspan class=\"signature\"\u003e[`prevGraphemeClusterBreak( string[, fromIndex] )`][@stdlib/string/prev-grapheme-cluster-break]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003ereturn the previous extended grapheme cluster break in a string before a specified position.\u003c/span\u003e\n-   \u003cspan class=\"signature\"\u003e[`removeFirst( str[, n][, options] )`][@stdlib/string/remove-first]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003eremove the first character(s) of a string.\u003c/span\u003e\n-   \u003cspan class=\"signature\"\u003e[`removeLast( str[, n][, options] )`][@stdlib/string/remove-last]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003eremove the last character(s) of a string.\u003c/span\u003e\n-   \u003cspan class=\"signature\"\u003e[`removePunctuation( str )`][@stdlib/string/remove-punctuation]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003eremove punctuation characters from a string.\u003c/span\u003e\n-   \u003cspan class=\"signature\"\u003e[`removeUTF8BOM( str )`][@stdlib/string/remove-utf8-bom]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003eremove a UTF-8 byte order mark (BOM) from the beginning of a string.\u003c/span\u003e\n-   \u003cspan class=\"signature\"\u003e[`removeWords( str, words[, ignoreCase] )`][@stdlib/string/remove-words]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003eremove a list of words from a string.\u003c/span\u003e\n-   \u003cspan class=\"signature\"\u003e[`repeat( str, n )`][@stdlib/string/repeat]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003erepeat a string a specified number of times and return the concatenated result.\u003c/span\u003e\n-   \u003cspan class=\"signature\"\u003e[`replaceBefore( str, search, replacement )`][@stdlib/string/replace-before]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003ereplace the substring before the first occurrence of a specified search string.\u003c/span\u003e\n-   \u003cspan class=\"signature\"\u003e[`replace( str, search, newval )`][@stdlib/string/replace]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003ereplace search occurrences with a replacement string.\u003c/span\u003e\n-   \u003cspan class=\"signature\"\u003e[`reverse( str[, options] )`][@stdlib/string/reverse]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003ereverse a string.\u003c/span\u003e\n-   \u003cspan class=\"signature\"\u003e[`rpad( str, len[, pad] )`][@stdlib/string/right-pad]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003eright pad a string.\u003c/span\u003e\n-   \u003cspan class=\"signature\"\u003e[`rtrimN( str, n[, chars] )`][@stdlib/string/right-trim-n]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003etrim `n` characters from the end of a string.\u003c/span\u003e\n-   \u003cspan class=\"signature\"\u003e[`rtrim( str )`][@stdlib/string/right-trim]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003etrim whitespace characters from the end of a string.\u003c/span\u003e\n-   \u003cspan class=\"signature\"\u003e[`snakecase( str )`][@stdlib/string/snakecase]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003econvert a string to snake case.\u003c/span\u003e\n-   \u003cspan class=\"signature\"\u003e[`splitGraphemeClusters( str )`][@stdlib/string/split-grapheme-clusters]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003esplit a string by its grapheme cluster breaks.\u003c/span\u003e\n-   \u003cspan class=\"signature\"\u003e[`startcase( str )`][@stdlib/string/startcase]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003ecapitalize the first letter of each word in a string.\u003c/span\u003e\n-   \u003cspan class=\"signature\"\u003e[`startsWith( str, search[, position] )`][@stdlib/string/starts-with]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003etest if a string starts with the characters of another string.\u003c/span\u003e\n-   \u003cspan class=\"signature\"\u003e[`substringAfterLast( str, search[, fromIndex] )`][@stdlib/string/substring-after-last]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003ereturn the part of a string after the last occurrence of a specified substring.\u003c/span\u003e\n-   \u003cspan class=\"signature\"\u003e[`substringAfter( str, search[, fromIndex] )`][@stdlib/string/substring-after]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003ereturn the part of a string after a specified substring.\u003c/span\u003e\n-   \u003cspan class=\"signature\"\u003e[`substringBeforeLast( str, search )`][@stdlib/string/substring-before-last]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003ereturn the part of a string before the last occurrence of a specified substring.\u003c/span\u003e\n-   \u003cspan class=\"signature\"\u003e[`substringBefore( str, search )`][@stdlib/string/substring-before]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003ereturn the part of a string before a specified substring.\u003c/span\u003e\n-   \u003cspan class=\"signature\"\u003e[`graphemeClusters2iteratorRight( src[, mapFcn[, thisArg]] )`][@stdlib/string/to-grapheme-cluster-iterator-right]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003ecreate an iterator which iterates from right to left over grapheme clusters.\u003c/span\u003e\n-   \u003cspan class=\"signature\"\u003e[`graphemeClusters2iterator( src[, mapFcn[, thisArg]] )`][@stdlib/string/to-grapheme-cluster-iterator]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003ecreate an iterator which iterates over grapheme clusters.\u003c/span\u003e\n-   \u003cspan class=\"signature\"\u003e[`toWellFormed( str )`][@stdlib/string/to-well-formed]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003ecreate a new well-formed string.\u003c/span\u003e\n-   \u003cspan class=\"signature\"\u003e[`trim( str )`][@stdlib/string/trim]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003etrim whitespace characters from the beginning and end of a string.\u003c/span\u003e\n-   \u003cspan class=\"signature\"\u003e[`truncateMiddle( str, len[, seq] )`][@stdlib/string/truncate-middle]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003etruncate a string in the middle to a specified length.\u003c/span\u003e\n-   \u003cspan class=\"signature\"\u003e[`truncate( str, len[, ending] )`][@stdlib/string/truncate]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003etruncate a string to a specified length.\u003c/span\u003e\n-   \u003cspan class=\"signature\"\u003e[`uncapitalize( str )`][@stdlib/string/uncapitalize]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003euncapitalize the first character of a string.\u003c/span\u003e\n-   \u003cspan class=\"signature\"\u003e[`uppercase( str )`][@stdlib/string/uppercase]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003econvert a string to uppercase.\u003c/span\u003e\n-   \u003cspan class=\"signature\"\u003e[`utf16ToUTF8Array( str )`][@stdlib/string/utf16-to-utf8-array]\u003c/span\u003e\u003cspan class=\"delimiter\"\u003e: \u003c/span\u003e\u003cspan class=\"description\"\u003econvert a UTF-16 encoded string to an array of integers using UTF-8 encoding.\u003c/span\u003e\n\n\u003c/div\u003e\n\n\u003c!-- \u003c/toc\u003e --\u003e\n\n\u003c/section\u003e\n\n\u003c!-- /.usage --\u003e\n\n\u003csection class=\"examples\"\u003e\n\n## Examples\n\n\u003c!-- TODO: better examples --\u003e\n\n\u003c!-- eslint no-undef: \"error\" --\u003e\n\n```javascript\nvar getKeys = require( '@stdlib/utils/keys' );\nvar string = require( '@stdlib/string' );\n\nconsole.log( getKeys( string ) );\n```\n\n\u003c/section\u003e\n\n\u003c!-- /.examples --\u003e\n\n\u003c!-- Section for related `stdlib` packages. Do not manually edit this section, as it is automatically populated. --\u003e\n\n\u003csection class=\"related\"\u003e\n\n\u003c/section\u003e\n\n\u003c!-- /.related --\u003e\n\n\u003c!-- Section for all links. Make sure to keep an empty line after the `section` element and another before the `/section` close. --\u003e\n\n\n\u003csection class=\"main-repo\" \u003e\n\n* * *\n\n## Notice\n\nThis package is part of [stdlib][stdlib], a standard library for JavaScript and Node.js, with an emphasis on numerical and scientific computing. The library provides a collection of robust, high performance libraries for mathematics, statistics, streams, utilities, and more.\n\nFor more information on the project, filing bug reports and feature requests, and guidance on how to develop [stdlib][stdlib], see the main project [repository][stdlib].\n\n#### Community\n\n[![Chat][chat-image]][chat-url]\n\n---\n\n## License\n\nSee [LICENSE][stdlib-license].\n\n\n## Copyright\n\nCopyright \u0026copy; 2016-2025. The Stdlib [Authors][stdlib-authors].\n\n\u003c/section\u003e\n\n\u003c!-- /.stdlib --\u003e\n\n\u003c!-- Section for all links. Make sure to keep an empty line after the `section` element and another before the `/section` close. --\u003e\n\n\u003csection class=\"links\"\u003e\n\n[npm-image]: http://img.shields.io/npm/v/@stdlib/string.svg\n[npm-url]: https://npmjs.org/package/@stdlib/string\n\n[test-image]: https://github.com/stdlib-js/string/actions/workflows/test.yml/badge.svg?branch=main\n[test-url]: https://github.com/stdlib-js/string/actions/workflows/test.yml?query=branch:main\n\n[coverage-image]: https://img.shields.io/codecov/c/github/stdlib-js/string/main.svg\n[coverage-url]: https://codecov.io/github/stdlib-js/string?branch=main\n\n\u003c!--\n\n[dependencies-image]: https://img.shields.io/david/stdlib-js/string.svg\n[dependencies-url]: https://david-dm.org/stdlib-js/string/main\n\n--\u003e\n\n[chat-image]: https://img.shields.io/gitter/room/stdlib-js/stdlib.svg\n[chat-url]: https://app.gitter.im/#/room/#stdlib-js_stdlib:gitter.im\n\n[stdlib]: https://github.com/stdlib-js/stdlib\n\n[stdlib-authors]: https://github.com/stdlib-js/stdlib/graphs/contributors\n\n[umd]: https://github.com/umdjs/umd\n[es-module]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules\n\n[deno-url]: https://github.com/stdlib-js/string/tree/deno\n[deno-readme]: https://github.com/stdlib-js/string/blob/deno/README.md\n[umd-url]: https://github.com/stdlib-js/string/tree/umd\n[umd-readme]: https://github.com/stdlib-js/string/blob/umd/README.md\n[esm-url]: https://github.com/stdlib-js/string/tree/esm\n[esm-readme]: https://github.com/stdlib-js/string/blob/esm/README.md\n[branches-url]: https://github.com/stdlib-js/string/blob/main/branches.md\n\n[stdlib-license]: https://raw.githubusercontent.com/stdlib-js/string/main/LICENSE\n\n\u003c!-- \u003ctoc-links\u003e --\u003e\n\n[@stdlib/string/acronym]: https://github.com/stdlib-js/string/tree/main/acronym\n\n[@stdlib/string/base]: https://github.com/stdlib-js/string/tree/main/base\n\n[@stdlib/string/camelcase]: https://github.com/stdlib-js/string/tree/main/camelcase\n\n[@stdlib/string/capitalize]: https://github.com/stdlib-js/string/tree/main/capitalize\n\n[@stdlib/string/code-point-at]: https://github.com/stdlib-js/string/tree/main/code-point-at\n\n[@stdlib/string/constantcase]: https://github.com/stdlib-js/string/tree/main/constantcase\n\n[@stdlib/string/dotcase]: https://github.com/stdlib-js/string/tree/main/dotcase\n\n[@stdlib/string/ends-with]: https://github.com/stdlib-js/string/tree/main/ends-with\n\n[@stdlib/string/first]: https://github.com/stdlib-js/string/tree/main/first\n\n[@stdlib/string/for-each]: https://github.com/stdlib-js/string/tree/main/for-each\n\n[@stdlib/string/format]: https://github.com/stdlib-js/string/tree/main/format\n\n[@stdlib/string/from-code-point]: https://github.com/stdlib-js/string/tree/main/from-code-point\n\n[@stdlib/string/headercase]: https://github.com/stdlib-js/string/tree/main/headercase\n\n[@stdlib/string/kebabcase]: https://github.com/stdlib-js/string/tree/main/kebabcase\n\n[@stdlib/string/last]: https://github.com/stdlib-js/string/tree/main/last\n\n[@stdlib/string/left-pad]: https://github.com/stdlib-js/string/tree/main/left-pad\n\n[@stdlib/string/left-trim-n]: https://github.com/stdlib-js/string/tree/main/left-trim-n\n\n[@stdlib/string/left-trim]: https://github.com/stdlib-js/string/tree/main/left-trim\n\n[@stdlib/string/lowercase]: https://github.com/stdlib-js/string/tree/main/lowercase\n\n[@stdlib/string/next-code-point-index]: https://github.com/stdlib-js/string/tree/main/next-code-point-index\n\n[@stdlib/string/next-grapheme-cluster-break]: https://github.com/stdlib-js/string/tree/main/next-grapheme-cluster-break\n\n[@stdlib/string/num-grapheme-clusters]: https://github.com/stdlib-js/string/tree/main/num-grapheme-clusters\n\n[@stdlib/string/num2words]: https://github.com/stdlib-js/string/tree/main/num2words\n\n[@stdlib/string/pad]: https://github.com/stdlib-js/string/tree/main/pad\n\n[@stdlib/string/pascalcase]: https://github.com/stdlib-js/string/tree/main/pascalcase\n\n[@stdlib/string/percent-encode]: https://github.com/stdlib-js/string/tree/main/percent-encode\n\n[@stdlib/string/prev-grapheme-cluster-break]: https://github.com/stdlib-js/string/tree/main/prev-grapheme-cluster-break\n\n[@stdlib/string/remove-first]: https://github.com/stdlib-js/string/tree/main/remove-first\n\n[@stdlib/string/remove-last]: https://github.com/stdlib-js/string/tree/main/remove-last\n\n[@stdlib/string/remove-punctuation]: https://github.com/stdlib-js/string/tree/main/remove-punctuation\n\n[@stdlib/string/remove-utf8-bom]: https://github.com/stdlib-js/string/tree/main/remove-utf8-bom\n\n[@stdlib/string/remove-words]: https://github.com/stdlib-js/string/tree/main/remove-words\n\n[@stdlib/string/repeat]: https://github.com/stdlib-js/string/tree/main/repeat\n\n[@stdlib/string/replace-before]: https://github.com/stdlib-js/string/tree/main/replace-before\n\n[@stdlib/string/replace]: https://github.com/stdlib-js/string/tree/main/replace\n\n[@stdlib/string/reverse]: https://github.com/stdlib-js/string/tree/main/reverse\n\n[@stdlib/string/right-pad]: https://github.com/stdlib-js/string/tree/main/right-pad\n\n[@stdlib/string/right-trim-n]: https://github.com/stdlib-js/string/tree/main/right-trim-n\n\n[@stdlib/string/right-trim]: https://github.com/stdlib-js/string/tree/main/right-trim\n\n[@stdlib/string/snakecase]: https://github.com/stdlib-js/string/tree/main/snakecase\n\n[@stdlib/string/split-grapheme-clusters]: https://github.com/stdlib-js/string/tree/main/split-grapheme-clusters\n\n[@stdlib/string/startcase]: https://github.com/stdlib-js/string/tree/main/startcase\n\n[@stdlib/string/starts-with]: https://github.com/stdlib-js/string/tree/main/starts-with\n\n[@stdlib/string/substring-after-last]: https://github.com/stdlib-js/string/tree/main/substring-after-last\n\n[@stdlib/string/substring-after]: https://github.com/stdlib-js/string/tree/main/substring-after\n\n[@stdlib/string/substring-before-last]: https://github.com/stdlib-js/string/tree/main/substring-before-last\n\n[@stdlib/string/substring-before]: https://github.com/stdlib-js/string/tree/main/substring-before\n\n[@stdlib/string/to-grapheme-cluster-iterator-right]: https://github.com/stdlib-js/string/tree/main/to-grapheme-cluster-iterator-right\n\n[@stdlib/string/to-grapheme-cluster-iterator]: https://github.com/stdlib-js/string/tree/main/to-grapheme-cluster-iterator\n\n[@stdlib/string/to-well-formed]: https://github.com/stdlib-js/string/tree/main/to-well-formed\n\n[@stdlib/string/trim]: https://github.com/stdlib-js/string/tree/main/trim\n\n[@stdlib/string/truncate-middle]: https://github.com/stdlib-js/string/tree/main/truncate-middle\n\n[@stdlib/string/truncate]: https://github.com/stdlib-js/string/tree/main/truncate\n\n[@stdlib/string/uncapitalize]: https://github.com/stdlib-js/string/tree/main/uncapitalize\n\n[@stdlib/string/uppercase]: https://github.com/stdlib-js/string/tree/main/uppercase\n\n[@stdlib/string/utf16-to-utf8-array]: https://github.com/stdlib-js/string/tree/main/utf16-to-utf8-array\n\n\u003c!-- \u003c/toc-links\u003e --\u003e\n\n\u003c/section\u003e\n\n\u003c!-- /.links --\u003e\n","funding_links":["https://github.com/sponsors/stdlib-js","https://opencollective.com/stdlib","https://tidelift.com/funding/github/npm/@stdlib/stdlib"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstdlib-js%2Fstring","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstdlib-js%2Fstring","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstdlib-js%2Fstring/lists"}