diff --git a/snippets/endsWithSubstring.md b/snippets/endsWithSubstring.md new file mode 100644 index 00000000000..de124cdfe8c --- /dev/null +++ b/snippets/endsWithSubstring.md @@ -0,0 +1,29 @@ +--- +title: String ends with substring +shortTitle: Ends with substring +tags: string +expertise: beginner +cover: blog_images/boutique-home-office-4.jpg +author: chalarangelo +firstSeen: 2022-08-01T05:00:00-04:00 +--- + +Checks if a given string ends with a substring of another string. + +- Use a `for...in` loop and `String.prototype.slice()` to get each substring of the given `word`, starting at the end. +- Use `String.prototype.endsWith()` to check the current substring against the `text`. +- Return the matching substring, if found. Otherwise, return `undefined`. + +```js +const endsWithSubstring = (text, word) => { + for (let i in word) { + const substr = word.slice(0, i + 1); + if (text.endsWith(substr)) return substr; + } + return undefined; +}; +``` + +```js +endsWithSubstring('Lorem ipsum dolor sit amet
'); // '
{ + for (let i in word) { + const substr = word.slice(-i - 1); + if (text.startsWith(substr)) return substr; + } + return undefined; +}; +``` + +```js +startsWithSubstring('/>Lorem ipsum dolor sit amet', '
'); // '/>' +```