Java String replaceFirst() Method

The String.replaceFirst() method in Java is used to replace the first substring of a string that matches a given regular expression with a specified replacement.

Table of Contents

  1. Introduction
  2. replaceFirst Method Syntax
  3. Examples
    • Basic Usage
    • Using Metacharacters in Regex
    • Handling Edge Cases
    • Real-World Use Case
  4. Conclusion

Introduction

The String.replaceFirst() method is a member of the String class in Java. It allows you to replace the first occurrence of a substring that matches a specified regular expression with a replacement string. This method is useful for performing targeted replacements in a string.

replaceFirst() Method Syntax

The syntax for the replaceFirst method is as follows:

public String replaceFirst(String regex, String replacement)
  • regex: The regular expression to which the substring should match.
  • replacement: The string to replace the first matched substring.

Examples

Basic Usage

The replaceFirst method can be used to replace the first occurrence of a pattern in a string with a replacement string.

Example

public class ReplaceFirstExample {
    public static void main(String[] args) {
        String str = "The rain in Spain stays mainly in the plain.";
        String newStr = str.replaceFirst("ain", "123");
        System.out.println("Original string: " + str);
        System.out.println("Replaced string: " + newStr);
    }
}

Output:

Original string: The rain in Spain stays mainly in the plain.
Replaced string: The r123 in Spain stays mainly in the plain.

Using Metacharacters in Regex

The replaceFirst method can be used with regular expression metacharacters to perform complex replacements.

Example

public class ReplaceFirstMetacharactersExample {
    public static void main(String[] args) {
        String str = "one1two2three3four4";
        String newStr = str.replaceFirst("\\d", "#");
        System.out.println("Original string: " + str);
        System.out.println("Replaced string: " + newStr);
    }
}

Output:

Original string: one1two2three3four4
Replaced string: one#two2three3four4

Handling Edge Cases

Example: Replacing Non-Existent Pattern

If the pattern does not exist in the string, the original string is returned unchanged.

public class ReplaceFirstNonExistentExample {
    public static void main(String[] args) {
        String str = "Hello, World!";
        String newStr = str.replaceFirst("xyz", "abc");
        System.out.println("Original string: " + str);
        System.out.println("Replaced string: " + newStr);
    }
}

Output:

Original string: Hello, World!
Replaced string: Hello, World!

Example: Replacing Empty String

If the regex pattern matches the empty string, the replacement is inserted at the beginning of the string.

public class ReplaceFirstEmptyExample {
    public static void main(String[] args) {
        String str = "Hello";
        String newStr = str.replaceFirst("^", "-");
        System.out.println("Original string: " + str);
        System.out.println("Replaced string: " + newStr);
    }
}

Output:

Original string: Hello
Replaced string: -Hello

Real-World Use Case

Example: Formatting Phone Numbers

One common use case for replaceFirst is formatting phone numbers by inserting or replacing specific characters.

public class FormatPhoneNumberExample {
    public static void main(String[] args) {
        String phoneNumber = "123-456-7890";
        String formattedNumber = phoneNumber.replaceFirst("-", " ");
        System.out.println("Original phone number: " + phoneNumber);
        System.out.println("Formatted phone number: " + formattedNumber);
    }
}

Output:

Original phone number: 123-456-7890
Formatted phone number: 123 456-7890

In this example, the replaceFirst method is used to replace the first hyphen in a phone number with a space, creating a specific formatting style.

Conclusion

The String.replaceFirst() method in Java is used for replacing the first occurrence of a substring that matches a given regular expression with a replacement string. It provides a flexible way to perform targeted replacements, making it useful for various applications such as formatting and text processing. By understanding and utilizing the replaceFirst method, you can efficiently manage specific string replacement tasks in your Java programs.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top