DEV Community

Kurapati Mahesh
Kurapati Mahesh

Posted on

6 2

Javascript: String Search methods

1. indexOf

inputStr.indexOf(str) - returns first occurrence of mentioned str in given inputStr

inputStr.indexOf(str, 10) - returns first occurrence of string after 10 position.

const str = 'Hi, Welcome to Vishwaks JS articles';

str.indexOf('Welcome');
> 4

str.indexOf('Welcome', 10); // Search after 10th position.
> -1

const str = 'Hi, Welcome to Vishwaks JS articles - Welcome to JustCode';

str.indexOf('Welcome', 10); // Search after 10th position.
> 38

str.indexOf('hi'); // case sensitive
> -1
Enter fullscreen mode Exit fullscreen mode

2. lastIndexOf

Same like indexOf but searches from end of the string.

inputStr.lastIndexOf(str) - returns last occurrence of mentioned str in given inputStr

inputStr.lastIndexOf(str, 10) - returns last occurrence of string from 10 index to beginning.

const testString = "locate string locate";

testString.lastIndexOf('locate');
> 14

testString.lastIndexOf('locate', 14);
> 14

testString.lastIndexOf('string');
> 7

testString.lastIndexOf('string', 6);
> -1

testString.lastIndexOf('string', 15);
> 7

testString.lastIndexOf('String'); // case sensitive
> -1

Enter fullscreen mode Exit fullscreen mode

3. search

search() is same like indexOf but won't allow position param.

Whereas, indexOf won't support regex based search but search() supports it.

const str = 'Hi, Welcome to Vishwaks JS articles 1234';

str.search('Welcom');
> 4

str.search(/\d/);
> 36

str.search(1234);
> 36

str.search('welcome'); // case sensitive
> -1

Enter fullscreen mode Exit fullscreen mode

4. match

match() searches specified string same like search but returns an array of matched strings.

const str = 'Hi, Welcome to Vishwaks JS articles 1234';

str.match('Hi');
> ['Hi', index: 0, input: 'Hi, Welcome to Vishwaks JS articles 1234', groups: undefined]

str.match('Welcome');
> ['Welcome', index: 4, input: 'Hi, Welcome to Vishwaks JS articles 1234', groups: undefined]

str.match(/\d/);
> ['1', index: 36, input: 'Hi, Welcome to Vishwaks JS articles 1234', groups: undefined]

str.match('hi'); // case sensitive
> null
Enter fullscreen mode Exit fullscreen mode

5. includes

includes() returns true if string found.

const str = 'Hi, Welcome to Vishwaks JS articles 1234';

str.includes(1234);
> true

str.includes('JS');
> true

str.includes('test');
> false

str.includes('hi'); // case sensitive
> false

Enter fullscreen mode Exit fullscreen mode

6. startsWith

Returns boolean if string starts with specified value.

str.startsWith('test') - if 'str' starts with 'test' then returns true otherwise false.

str.startsWith('test', 10) - 10th index in string starts with test or not.

const str = 'Hi, Welcome to Vishwaks JS articles';

str.startsWith('Hi');
> true

str.startsWith('Welcome', 4);
> true

str.startsWith('hi'); // case sensitive
> false
Enter fullscreen mode Exit fullscreen mode

7. endsWith

Returns boolean if string ends with specified value.

str.endsWith('test') - if 'str' ends with 'test' then returns true otherwise false.

str.endsWith('test', 10) - till 10th index in string ends with test or not.

const str = 'Hi, Welcome to Vishwaks JS articles';

str.endsWith('articles');
> true

str.endsWith('to', 14); // Check first 14 characters ends with to.
> true

str.endsWith('aRticles'); // case sensitive
> false
Enter fullscreen mode Exit fullscreen mode

There are two more methods which are from RegExp are test() & exec() does the same.

All the above methods are case sensitive methods.

Thanks,

You can follow me here: https://twitter.com/urstrulyvishwak

Sentry blog image

How to reduce TTFB

In the past few years in the web dev world, we’ve seen a significant push towards rendering our websites on the server. Doing so is better for SEO and performs better on low-powered devices, but one thing we had to sacrifice is TTFB.

In this article, we’ll see how we can identify what makes our TTFB high so we can fix it.

Read more

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay