C# Regex.Split Numbers

String type

Regex.Split can extract numbers from strings. You want to get all the numbers that are found in a string inside your C# program. Ideal for this purpose is the Regex.Split method with a delimiter code. Using an example, we describe an effective way of acquiring all positive integers in a string.

This C# example program uses Regex.Split to get numbers from a string.

Example

As we begin, please notice how the System.Text.RegularExpressions namespace is included. The const input string has four numbers in it: they are one or two digits long. To acquire the numbers, we use the format string @"\D+" in the Regex.Split method; this indicates that we want to use any number of one or more non-digit characters as a delimiter.

Program that uses Regex.Split on string [C#]

using System;
using System.Text.RegularExpressions;

class Program
{
    static void Main()
    {
	const string input = "There are 4 numbers in this string: 40, 30, and 10.";
	// Split on one or more non-digit characters.
	string[] numbers = Regex.Split(input, @"\D+");
	foreach (string value in numbers)
	{
	    if (!string.IsNullOrEmpty(value))
	    {
		int i = int.Parse(value);
		Console.WriteLine("Number: {0}", i);
	    }
	}
    }
}

Output

Number: 4
Number: 40
Number: 30
Number: 10
Split strings

Parsing the numbers. The Regex.Split method will return the numbers in string form. The result array may also contain empty strings; to avoid parsing errors, we use the string.IsNullOrEmpty method. Finally, we invoke the int.Parse method to get integers.

Regex.Split Method Examples string.IsNullOrEmpty Method int.Parse for Integer Conversion

Summary

The C# programming language

In this demonstration, we extracted four integers that were embedded in a string literal, and then converted them to integers. The Regex.Split method is useful for this purpose, and is much better than the string.Split method because it allows more flexible delimiters.

Regex Type
.NET