String Methods

Introduction

String methods are built-in JavaScript functions that allow you to perform various operations on strings, such as converting text to uppercase, searching for characters, replacing text, extracting substrings, removing whitespace, and more.

Since JavaScript strings are immutable, string methods do not modify the original string. Instead, they return a new string or another value (such as a number or boolean), depending on the method used.

String methods are widely used in web development, Node.js applications, API testing, and browser automation. For automation engineers, they are essential for validating page titles, processing API responses, handling test data, verifying URLs, and manipulating user input.


What are String Methods?

String methods are predefined functions provided by JavaScript that simplify common string operations.

For example, you can:

  • Convert text to uppercase or lowercase.

  • Remove extra spaces.

  • Find the position of a word.

  • Replace one word with another.

  • Extract part of a string.

  • Check whether a string starts or ends with specific text.


Why Do We Use String Methods?

String methods help developers:

  • Manipulate text easily.

  • Validate user input.

  • Search within strings.

  • Format data.

  • Process API responses.

  • Improve code readability.


Commonly Used String Methods

MethodDescription
toUpperCase()Converts a string to uppercase.
toLowerCase()Converts a string to lowercase.
trim()Removes whitespace from both ends of a string.
slice()Extracts part of a string.
substring()Returns part of a string.
replace()Replaces part of a string.
includes()Checks whether a string contains specified text.
startsWith()Checks whether a string starts with specified text.
endsWith()Checks whether a string ends with specified text.
indexOf()Returns the position of a substring.
lastIndexOf()Returns the last occurrence of a substring.
split()Splits a string into an array.
concat()Joins two or more strings.
charAt()Returns the character at a specified index.

toUpperCase()

Converts all characters to uppercase.

let language = "javascript";

console.log(language.toUpperCase());

Output

JAVASCRIPT

toLowerCase()

Converts all characters to lowercase.

let language = "JAVASCRIPT";

console.log(language.toLowerCase());

Output

javascript

trim()

Removes whitespace from both ends of a string.

let name = "   John   ";

console.log(name.trim());

Output

John

replace()

Replaces the first matching substring.

let text = "Hello World";

console.log(text.replace("World", "JavaScript"));

Output

Hello JavaScript

includes()

Checks whether a string contains a specified value.

let course = "JavaScript Tutorial";

console.log(course.includes("Script"));

Output

true

startsWith()

Checks whether a string begins with specified text.

let url = "https://example.com";

console.log(url.startsWith("https"));

Output

true

endsWith()

Checks whether a string ends with specified text.

let file = "report.pdf";

console.log(file.endsWith(".pdf"));

Output

true

indexOf()

Returns the index of the first occurrence of a substring.

let text = "JavaScript";

console.log(text.indexOf("S"));

Output

4

lastIndexOf()

Returns the last occurrence of a substring.

let text = "banana";

console.log(text.lastIndexOf("a"));

Output

5

split()

Splits a string into an array.

let colors = "Red,Green,Blue";

console.log(colors.split(","));

Output

[ 'Red', 'Green', 'Blue' ]

concat()

Joins two or more strings.

let firstName = "John";

let lastName = "Doe";

console.log(firstName.concat(" ", lastName));

Output

John Doe

charAt()

Returns the character at a specified index.

let word = "Hello";

console.log(word.charAt(1));

Output

e

Real-World Example

Suppose a company stores employee email addresses.

let email = "employee@company.com";

console.log(email.toUpperCase());

console.log(email.includes("@"));

Output

EMPLOYEE@COMPANY.COM
true

Another example:

let fileName = "invoice.pdf";

console.log(fileName.endsWith(".pdf"));

Output

true

Automation Testing Example

Automation engineers frequently use string methods while validating web applications and API responses.

Playwright Example

Validate page title.

const title = await page.title();

console.log(title.toUpperCase());

Selenium Example

Check whether the page title contains a keyword.

const title = await driver.getTitle();

console.log(title.includes("Dashboard"));

Cypress Example

Validate the URL.

const url = "https://example.com/dashboard";

console.log(url.startsWith("https"));

API Testing Example

Replace text in a response.

const response = {

    message: "Login Failed"

};

console.log(response.message.replace("Failed", "Successful"));

Output

Login Successful

Data-Driven Testing Example

Remove extra spaces from usernames.

const users = [

    " admin ",

    " manager ",

    " tester "

];

for (const user of users) {

    console.log(user.trim());

}

Output

admin
manager
tester

Common Mistakes

Forgetting That Strings Are Immutable

Incorrect expectation:

let text = "hello";

text.toUpperCase();

console.log(text);

Output

hello

The original string remains unchanged.

Correct:

let text = "hello";

text = text.toUpperCase();

console.log(text);

Output

HELLO

Case-Sensitive Searches

let text = "JavaScript";

console.log(text.includes("javascript"));

Output

false

String methods such as includes() are case-sensitive.


Assuming replace() Replaces All Matches

let text = "cat cat cat";

console.log(text.replace("cat", "dog"));

Output

dog cat cat

Only the first occurrence is replaced.


Best Practices

Store the Result

Most string methods return a new string.

let name = "john";

name = name.toUpperCase();

Use trim() for User Input

Remove unwanted spaces before validation.


Use includes() for Simple Searches

Instead of manually checking indexes, use includes() when appropriate.


Use Meaningful Variable Names

Instead of:

let s = "JavaScript";

Use:

let programmingLanguage = "JavaScript";

This improves readability.


Conclusion

JavaScript string methods provide a powerful and convenient way to manipulate and process text. They simplify common operations such as searching, formatting, replacing, trimming, splitting, and validating strings.

For automation engineers, these methods are essential for handling test data, validating UI content, processing API responses, verifying URLs, and performing assertions. Mastering string methods will significantly improve your ability to write clean, efficient, and maintainable JavaScript automation scripts.


Frequently Asked Questions (FAQs)

What are string methods in JavaScript?

String methods are built-in functions used to perform operations on strings.


Do string methods modify the original string?

No. Most string methods return a new string and leave the original string unchanged.


Which string method converts text to uppercase?

string.toUpperCase()

Which method removes extra spaces?

string.trim()

Which method checks whether a string contains specific text?

string.includes("text")

Why are string methods important in automation testing?

Automation engineers use string methods to validate page titles, process API responses, manipulate test data, verify URLs, clean user input, and perform text-based assertions.


Key Takeaways

  • String methods are built-in functions for working with strings.

  • JavaScript strings are immutable.

  • toUpperCase() and toLowerCase() change letter casing.

  • trim() removes extra spaces.

  • replace() replaces part of a string.

  • includes(), startsWith(), and endsWith() help search text.

  • split() converts a string into an array.

  • concat() joins strings together.

  • String methods are widely used in JavaScript development and automation testing.

  • Mastering string methods is essential for efficient text processing and automation scripting.