Monday, January 20, 2025
HomeProgrammingWhat Is The Difference Between Substr And Substring?

What Is The Difference Between Substr And Substring?

The terms substr and substring are commonly used in various programming languages to extract portions of a string. Although they may seem similar, there are important differences in their usage and behavior depending on the language.

1. substr (Substring by position and length)

  • General behavior: substr typically requires two arguments: the starting position and the length of the substring.
  • Starting position: The index of the first character to include in the result.
  • Length: The number of characters to extract starting from the given position.
  • In some languages, substr may support a third argument (negative length) to indicate that it should extract the substring up to the end.
See also  How do you center an image using CSS in HTML?"

Example in JavaScript:

let str = "Hello, world!";
let subStr = str.substr(7, 5);  // Starts at position 7, extracts 5 characters
console.log(subStr);  // Output: world

2. substring (Substring by position range)

  • General behavior: substring typically requires two arguments: the start index and the end index.
    • Start index: The position where the substring should begin.
    • End index: The position where the substring should end (not inclusive).
  • If the end index is greater than the string length, substring will return up to the end of the string.
  • The start index cannot be greater than the end index (if this happens, the two indices are swapped).

Example in JavaScript:

let str = "Hello, world!";
let subStr = str.substring(7, 12);  // Extracts from position 7 to 12 (end index not included)
console.log(subStr);  // Output: world

Key Differences:

Feature substr substring
Arguments Requires start position and length Requires start position and end position
End behavior Extracts a fixed length starting at a position Extracts between start and end index (not inclusive of end)
Negative indices Supports negative indices to count from the end Does not support negative indices
Start > End No swapping, may return an empty string or error Swaps indices if the start is greater than the end
Length parameter Must specify the length of the substring Does not use a length parameter, only start and end positions
See also  Java Collections class

Example in JavaScript (further comparison):

let str = "Hello, world!";

// Using substr
let subStr1 = str.substr(7, 5);  // Starts at 7, length 5 => "world"
let subStr2 = str.substr(-6, 5); // Starts 6 characters from the end, length 5 => "world"

// Using substring
let subStr3 = str.substring(7, 12); // Starts at 7, ends at 12 => "world"
let subStr4 = str.substring(12, 7); // Starts at 12, ends at 7 (will swap) => "world"

 

RELATED ARTICLES

Banking Application in Java

Java PrintWriter Class

What Is CSS Hover?

0 0 votes
Article Rating

Leave a Reply

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
- Advertisment -

Most Popular

Recent Comments

0
Would love your thoughts, please comment.x
()
x