Как удалить первые 10 символов из строки?

Как игнорировать первые 10 символов строки?

вход:

str = "hello world!";

выход:

d!

10 ответов


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

вам нужно будет выполнить проверки длины, иначе это вызовет ошибку


str = str.Remove(0,10); Удаляет первые 10 символов

или

str = str.Substring(10); Создает подстроку, начиная с 11-го символа до конца строки.

для ваших целей они должны работать одинаково.


подстрока, вероятно, то, что вы хотите, как указывали другие. Но просто, чтобы добавить еще один вариант в микс...

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

вы даже не нужно проверять длину на этом! :) Если его меньше 10 символов, вы получаете пустую строку.


на Substring имеет параметр startIndex. Установите его в соответствии с индексом, с которого вы хотите начать.


SubString имеет два метода перегрузки:

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.

поэтому для этого сценария вы можете использовать первый метод, как показано ниже:

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

Отсюда вывод:

d!

если вы можете применить защитное кодирование, проверив его длину.


использование метода substring.

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

вы можете использовать метод подстрока метод, который принимает один параметр, который является показателем начать.

в моем коде ниже я имею дело с случаем, когда длина меньше желаемого начального индекса и когда длина равна нулю.

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

для:

var str = "hello world!";

чтобы получить результирующую строку без первых 10 символов и пустой строки, если строка меньше или равна 10, вы можете использовать:

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

или

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

предпочтителен первый вариант, так как ему нужен только один параметр метода.


вы можете удалить Char, используя строку ниже,

:- сначала проверьте, что строка имеет достаточно символов для удаления ,как

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

нет необходимости указывать длину в Substring метод. Таким образом:

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

p будет:

"lo world".

единственное исключение вам нужно поставить еду для ArgumentOutOfRangeException Если startIndex меньше нуля или больше длины данного экземпляра.