Remove Leading Zeros from a String in C#

Removing leading zeros from a string is a common requirement in C# when dealing with numeric data or formatted strings. There are several approaches to accomplish this task, with TrimStart() being the most straightforward method.

Syntax

Following is the syntax for using TrimStart() to remove leading zeros −

string.TrimStart('0')
string.TrimStart(new char[] { '0' })

Using TrimStart() Method

The TrimStart() method removes specified characters from the beginning of a string. To remove leading zeros, we pass '0' as the character to trim −

using System;

class Program {
   static void Main() {
      string str = "000234";
      string result = str.TrimStart('0');
      Console.WriteLine("Original: " + str);
      Console.WriteLine("After removing leading zeros: " + result);
   }
}

The output of the above code is −

Original: 000234
After removing leading zeros: 234

Handling Edge Cases

When working with strings that contain only zeros or mixed characters, special handling may be required −

using System;

class Program {
   static void Main() {
      string[] testStrings = { "000234", "0000", "00abc123", "123000" };
      
      foreach (string str in testStrings) {
         string result = str.TrimStart('0');
         // Handle case where string becomes empty (all zeros)
         if (string.IsNullOrEmpty(result)) {
            result = "0";
         }
         Console.WriteLine($"'{str}' -> '{result}'");
      }
   }
}

The output of the above code is −

'000234' -> '234'
'0000' -> '0'
'00abc123' -> 'abc123'
'123000' -> '123000'

Using Convert and Parse Methods

For purely numeric strings, you can convert to integer and back to string to remove leading zeros −

using System;

class Program {
   static void Main() {
      string numericString = "000234";
      
      try {
         int number = int.Parse(numericString);
         string result = number.ToString();
         Console.WriteLine("Original: " + numericString);
         Console.WriteLine("Using Parse method: " + result);
      }
      catch (FormatException) {
         Console.WriteLine("String contains non-numeric characters");
      }
   }
}

The output of the above code is −

Original: 000234
Using Parse method: 234

Comparison of Methods

Method Best For Handles Non-Numeric
TrimStart('0') General string processing Yes
int.Parse().ToString() Purely numeric strings No (throws exception)
Convert.ToInt32().ToString() Numeric strings with validation No (throws exception)

Conclusion

The TrimStart('0') method is the most versatile approach for removing leading zeros from strings in C#. For purely numeric data, conversion methods can also be used, but TrimStart() handles both numeric and mixed-content strings effectively while being simple to implement.

Updated on: 2026-03-17T07:04:35+05:30

14K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements