Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Substring Extraction and Indexing | Fundamentals of Strings
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
C# Strings and Text Processing

bookSubstring Extraction and Indexing

When working with strings in C#, you often need to extract specific parts of a larger text—such as pulling out a first name from a full name, or finding a particular word in a sentence. To do this, you must understand zero-based indexing, which means that the first character in a string is at position 0, the second at position 1, and so on. Extracting substrings involves specifying the position (index) where you want to start, and sometimes how many characters to include.

Program.cs

Program.cs

copy
12345678910111213141516171819
using System; namespace ConsoleApp { public class Program { public static void Main(string[] args) { string fullName = "John Doe"; int spaceIndex = fullName.IndexOf(' '); string firstName = fullName.Substring(0, spaceIndex); string lastName = fullName.Substring(spaceIndex + 1); Console.WriteLine("First name: " + firstName); Console.WriteLine("Last name: " + lastName); } } }

In this example, you see how IndexOf is used to find the position of the first space character in the string, which separates the first and last names. The Substring method then extracts the first name by starting at index 0 and taking all characters up to the space, and the last name by starting right after the space and taking the rest of the string. IndexOf returns the index of the first occurrence of the specified character, while Substring can extract text starting from a given index, and optionally for a specified length.

Program.cs

Program.cs

copy
1234567891011121314151617181920212223242526
using System; namespace ConsoleApp { public class Program { public static void Main(string[] args) { string input = "SingleName"; int spaceIndex = input.IndexOf(' '); if (spaceIndex != -1) { string firstPart = input.Substring(0, spaceIndex); string secondPart = input.Substring(spaceIndex + 1); Console.WriteLine("First part: " + firstPart); Console.WriteLine("Second part: " + secondPart); } else { Console.WriteLine("No space found in input."); } } } }

It is important to handle cases where the character you are searching for is not present in the string. IndexOf returns -1 if the character cannot be found, so you should always check for this before using the result with Substring. This prevents errors and allows you to handle edge cases, such as when a delimiter is missing, in a user-friendly way.

In some cases, a string may contain the same character multiple times. For example, a full name can include middle names, or a sentence may contain several spaces. When you need to work with the last occurrence of a character rather than the first one, you can use the LastIndexOf method.

The LastIndexOf method searches the string from right to left and returns the index of the last occurrence of the specified character. Just like IndexOf, it returns -1 if the character is not found.

Program.cs

Program.cs

copy
123456789101112131415161718192021
using System; namespace ConsoleApp { public class Program { public static void Main(string[] args) { string fullName = "Anna Maria Smith"; int firstSpaceIndex = fullName.IndexOf(' '); int lastSpaceIndex = fullName.LastIndexOf(' '); string firstName = fullName.Substring(0, firstSpaceIndex); string lastName = fullName.Substring(lastSpaceIndex + 1); Console.WriteLine("First name: " + firstName); Console.WriteLine("Last name: " + lastName); } } }

In this example, IndexOf(' ') is used to find the position of the first space, which marks the end of the first name. LastIndexOf(' ') finds the position of the last space, which marks the beginning of the last name.

By combining IndexOf, LastIndexOf, and Substring, you can safely extract specific parts of a string even when the text contains multiple spaces or repeated characters.

Just like IndexOf, you should always check whether LastIndexOf returns -1 before using its result. This ensures your program can handle cases where the expected character is missing without causing errors.

1. What does IndexOf(' ') return for the string "John Doe"?

2. Which method extracts a portion of a string?

3. If IndexOf returns -1, what does it mean?

question mark

What does IndexOf(' ') return for the string "John Doe"?

Select the correct answer

question mark

Which method extracts a portion of a string?

Select the correct answer

question mark

If IndexOf returns -1, what does it mean?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 1. Розділ 3

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Suggested prompts:

Can you show an example of how to use IndexOf and Substring together?

What happens if there are no spaces in the string?

How do I extract a middle name if it exists?

bookSubstring Extraction and Indexing

Свайпніть щоб показати меню

When working with strings in C#, you often need to extract specific parts of a larger text—such as pulling out a first name from a full name, or finding a particular word in a sentence. To do this, you must understand zero-based indexing, which means that the first character in a string is at position 0, the second at position 1, and so on. Extracting substrings involves specifying the position (index) where you want to start, and sometimes how many characters to include.

Program.cs

Program.cs

copy
12345678910111213141516171819
using System; namespace ConsoleApp { public class Program { public static void Main(string[] args) { string fullName = "John Doe"; int spaceIndex = fullName.IndexOf(' '); string firstName = fullName.Substring(0, spaceIndex); string lastName = fullName.Substring(spaceIndex + 1); Console.WriteLine("First name: " + firstName); Console.WriteLine("Last name: " + lastName); } } }

In this example, you see how IndexOf is used to find the position of the first space character in the string, which separates the first and last names. The Substring method then extracts the first name by starting at index 0 and taking all characters up to the space, and the last name by starting right after the space and taking the rest of the string. IndexOf returns the index of the first occurrence of the specified character, while Substring can extract text starting from a given index, and optionally for a specified length.

Program.cs

Program.cs

copy
1234567891011121314151617181920212223242526
using System; namespace ConsoleApp { public class Program { public static void Main(string[] args) { string input = "SingleName"; int spaceIndex = input.IndexOf(' '); if (spaceIndex != -1) { string firstPart = input.Substring(0, spaceIndex); string secondPart = input.Substring(spaceIndex + 1); Console.WriteLine("First part: " + firstPart); Console.WriteLine("Second part: " + secondPart); } else { Console.WriteLine("No space found in input."); } } } }

It is important to handle cases where the character you are searching for is not present in the string. IndexOf returns -1 if the character cannot be found, so you should always check for this before using the result with Substring. This prevents errors and allows you to handle edge cases, such as when a delimiter is missing, in a user-friendly way.

In some cases, a string may contain the same character multiple times. For example, a full name can include middle names, or a sentence may contain several spaces. When you need to work with the last occurrence of a character rather than the first one, you can use the LastIndexOf method.

The LastIndexOf method searches the string from right to left and returns the index of the last occurrence of the specified character. Just like IndexOf, it returns -1 if the character is not found.

Program.cs

Program.cs

copy
123456789101112131415161718192021
using System; namespace ConsoleApp { public class Program { public static void Main(string[] args) { string fullName = "Anna Maria Smith"; int firstSpaceIndex = fullName.IndexOf(' '); int lastSpaceIndex = fullName.LastIndexOf(' '); string firstName = fullName.Substring(0, firstSpaceIndex); string lastName = fullName.Substring(lastSpaceIndex + 1); Console.WriteLine("First name: " + firstName); Console.WriteLine("Last name: " + lastName); } } }

In this example, IndexOf(' ') is used to find the position of the first space, which marks the end of the first name. LastIndexOf(' ') finds the position of the last space, which marks the beginning of the last name.

By combining IndexOf, LastIndexOf, and Substring, you can safely extract specific parts of a string even when the text contains multiple spaces or repeated characters.

Just like IndexOf, you should always check whether LastIndexOf returns -1 before using its result. This ensures your program can handle cases where the expected character is missing without causing errors.

1. What does IndexOf(' ') return for the string "John Doe"?

2. Which method extracts a portion of a string?

3. If IndexOf returns -1, what does it mean?

question mark

What does IndexOf(' ') return for the string "John Doe"?

Select the correct answer

question mark

Which method extracts a portion of a string?

Select the correct answer

question mark

If IndexOf returns -1, what does it mean?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 1. Розділ 3
some-alt