开发者

How to remove first 10 characters from a string?

开发者 https://www.devze.com 2023-03-30 20:41 出处:网络
How to ignore th开发者_Go百科e first 10 characters of a string? Input: str = \"hello world!\"; Output:

How to ignore th开发者_Go百科e first 10 characters of a string?

Input:

str = "hello world!";

Output:

d!


str = str.Remove(0,10); Removes the first 10 characters

or

str = str.Substring(10); Creates a substring starting at the 11th character to the end of the string.

For your purposes they should work identically.


str = "hello world!";
str.Substring(10, str.Length-10)

you will need to perform the length checks else this would throw an error


Substring is probably what you want, as others pointed out. But just to add another option to the mix...

string result = string.Join(string.Empty, str.Skip(10));

You dont even need to check the length on this! :) If its less than 10 chars, you get an empty string.


Substring has two Overloading methods:

public string Substring(int startIndex);//The substring starts at a specified character position and continues to the end of the string.

public string Substring(int startIndex, int length);//The substring starts at a specified character position and taking length no of character from the startIndex.

So for this scenario, you may use the first method like this below:

var str = "hello world!";
str = str.Substring(10);

Here the output is:

d!

If you may apply defensive coding by checking its length.


The Substring has a parameter called startIndex. Set it according to the index you want to start at.


You Can Remove Char using below Line ,

:- First check That String has enough char to remove ,like

   string temp="Hello Stack overflow";
   if(temp.Length>10)
   {
    string textIWant = temp.Remove(0, 10);
   }


Starting from C# 8, you simply can use Range Operator. It's the more efficient and better way to handle such cases.

string AnString = "Hello World!";
AnString = AnString[10..];


Use substring method.

string s = "hello world";
s=s.Substring(10, s.Length-10);


You can use the method Substring method that takes a single parameter, which is the index to start from.

In my code below i deal with the case were the length is less than your desired start index and when the length is zero.

string s = "hello world!";
s = s.Substring(Math.Max(0, Math.Min(10, s.Length - 1)));


For:

var str = "hello world!";

To get the resulting string without the first 10 characters and an empty string if the string is less or equal in length to 10 you can use:

var result = str.Length <= 10 ? "" : str.Substring(10);

or

var result = str.Length <= 10 ? "" : str.Remove(0, 10);

First variant being preferred since it needs only one method parameter.


There is no need to specify the length into the Substring method. Therefore:

string s = hello world;
string p = s.Substring(3);

p will be:

"lo world".

The only exception you need to cater for is ArgumentOutOfRangeException if startIndex is less than zero or greater than the length of this instance.


Calling SubString() allocates a new string. For optimal performance, you should avoid that extra allocation. Starting with C# 7.2 you can take advantage of the Span pattern.

When targeting .NET Framework, include the System.Memory NuGet package. For .NET Core projects this works out of the box.

static void Main(string[] args)
{
    var str = "hello world!";
    var span = str.AsSpan(10); // No allocation!

    // Outputs: d!
    foreach (var c in span)
    {
        Console.Write(c);
    }

    Console.WriteLine();
}
0

精彩评论

暂无评论...
验证码 换一张
取 消