Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to get the first five character of a String

You can use Enumerable.Take like:

char[] array = yourStringVariable.Take(5).ToArray();

Or you can use String.Substring.

string str = yourStringVariable.Substring(0,5);

Remember that String.Substring could throw an exception in case of string's length less than the characters required.

If you want to get the result back in string then you can use:

  • Using String Constructor and LINQ's Take

    string firstFivChar = new string(yourStringVariable.Take(5).ToArray());
    

The plus with the approach is not checking for length before hand.

  • The other way is to use String.Substring with error checking

like:

string firstFivCharWithSubString = 
    !String.IsNullOrWhiteSpace(yourStringVariable) && yourStringVariable.Length >= 5
    ? yourStringVariable.Substring(0, 5)
    : yourStringVariable;

Please try:

yourString.Substring(0, 5);

Check C# Substring, String.Substring Method


You can use Substring(int startIndex, int length)

string result = str.Substring(0,5);

The substring starts at a specified character position and has a specified length. This method does not modify the value of the current instance. Instead, it returns a new string with length characters starting from the startIndex position in the current string, MSDN

What if the source string is less then five characters? You will get exception by using above method. We can put condition to check if the number of characters in string are more then 5 then get first five through Substring. Note I have assigned source string to firstFiveChar variable. The firstFiveChar not change if characters are less then 5, so else part is not required.

string firstFiveChar = str;
If(!String.IsNullOrWhiteSpace(yourStringVariable) && yourStringVariable.Length >= 5)
      firstFiveChar = yourStringVariable.Substring(0, 5);

No one mentioned how to make proper checks when using Substring(), so I wanted to contribute about that.

If you don't want to use Linq and go with Substring(), you have to make sure that your string is bigger than the second parameter (length) of Substring() function.

Let's say you need the first 5 characters. You should get them with proper check, like this:

string title = "love" // 15 characters
var firstFiveChars = title.Length <= 5 ? title : title.Substring(0, 5);

// firstFiveChars: "love" (4 characters)

Without this check, Substring() function would throw an exception because it'd iterate through letters that aren't there.

I think you get the idea...