---
# System prepended metadata

title: Substring in Java - Scaler Topics

---

---
title: Substring in Java - Scaler Topics
description: A Substring in Java is a part of a string, and that part can be the whole string also. In this article by Scaler Topics, we have explained Substring in Java with examples.
author: Rishabh Mahajan
category: Java
---
::: main

A substring in java is a contiguous sequence of characters within a string. A substring can consist of any number of characters, from a single character to the entire string. 

There are two methods in Java for a substring of a specified string: 

* **String substring(startIndex)**
* **String substring(startIndex, endIndex)**

The first method returns a substring that starts from the specified index and goes to the end of the string, while the second method returns a substring that starts from the specified start index and ends at the specified end index (exclusive). 

 Take an example of a string name : *“Mr Yuvraj Singh”*

In the given string, if you want to remove Mr from the name and use only Yuvraj Singh, then you have to find out the substring of the whole string whose index ranges from  3 to 14 if you consider the `0 based` indexing of the string.

![Substring in Java](https://www.scaler.com/topics/media/Substring-in-Java-1024x388.jpeg)
:::






## String substring() Method

Two different methods of signature use substring(), which helps to get a substring in Java. The first method only takes the starting index of the string and returns a new string that is substring, which begins at that startIndex and ends at the end of the string, which means the range of substring is from `startIndex` till the end of the string. 

**Syntax:**

```java
String substring(int startIndex)
```
 **startIndex:** It defines the starting point of the substring in the specified string.

**Return Value**

The function returns the specified substring from `startIndex` till the end of the string. The return type is `String`.

**Example:**

```java
public class Main {

  public static void main(String[] args) {
    //consider this string
    //here, indexing starts from 0, and space is considered as a char in the string
    String s = "Welcome to Scaler";

    // 1st method
    System.out.println("The substring is: " + s.substring(11));
  }
}
```

**Output:**

```plaintext
The substring is: Scaler
```

**Explanation:**

In the above example, It prints “Scaler” as a substring, starting from index `11` and ending at the string's end. 

:::

:::section{.main}

## String substring(begIndex, endIndex)


Another variant of the Substring in Java takes parameters that are starting index and ending index and It returns a new string that is a substring of this string, which begins at that `startIndex` and ends at the **endIndex – 1** if the second parameter is given in the function.
:::
:::section{.tip}
**Note:** The `startIndex` is included in the range, and `endIndex` is not included, and indexing of the string is `0` based.
:::
:::section{.main}
**Syntax:**

```java
String substring(int startIndex, int endIndex)
```

- **startIndex:** It defines the starting point of the substring in the specified string.
- **endIndex:** It defines the ending point of the substring in the specified string. The substring ends at `endIndex-1`.

**Return Value:**

The function returns the specified substring from `startIndex` till the end of the string. The return type is `String`.
:::
:::section{.tip}
**Note:** If the start index is negative or the end index is lower than the start index, the method throws  `StringIndexOutOfBoundsException`.
:::
:::section{.main}

**Example:**

```java
public class Main {

  public static void main(String[] args) {
    //consider this string
    //here, indexing starts from 0, and space is considered as a char in the string
    String s = "Welcome to Scaler";

    // 2nd method
    System.out.println("The substring is: " + s.substring(0, 7));
  }
}
```

**Output:**

```plaintext
The substring is: Welcome
```

**Explanation:**

In the above example, It prints The second part, which will print “`Welcome`” as a substring where it starts from index `0` and ends at index `6`.

:::

:::section{.main}

## String.split() Method 

The `split()` method is used to split and extract the substrings based on a delimiter. 

**Syntax:**

```java
Public String [] split ( String regex, int limit)
```
**Return Value:**

The `split()` method in java returns an array of strings.

**Example:**

```java
public class Main {
    public static void main(String[] args) {
        String sentence = "The world is so beautiful";
        String[] words = sentence.split(" ", 3);

        for (String word: words) {
            System.out.println(word);
        }
    }
}

```
**Output:**

```plaintext
The
world
is so beautiful
```
**Explanation:** This code splits the sentence into words based on spaces but limits the number of splits to 3. So, only the first three words will be extracted and printed.
:::



:::section{.summary}
## Conclusion 
* A substring in java is a contiguous sequence of characters within a string.
* Java provides two methods for extracting substrings from a string: String `substring(startIndex)` and String `substring(startIndex, endIndex)`.
* The `substring(startIndex)` method returns a substring that starts from the specified index and goes to the end of the string.
* The `substring(startIndex, endIndex)` method returns a substring that starts from the specified start index and ends at the specified end index (exclusive).

:::