Как удалить первые 10 символов из строки? - PullRequest
76 голосов
/ 25 августа 2011

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

Введите:

str = "hello world!";

Выход:

d!

Ответы [ 10 ]

192 голосов
/ 25 августа 2011

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

или

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

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

82 голосов
/ 25 августа 2011
str = "hello world!";
str.Substring(10, str.Length-10)

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

14 голосов
/ 25 августа 2011

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

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

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

7 голосов
/ 28 сентября 2017

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!

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

5 голосов
/ 25 августа 2011

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

2 голосов
/ 18 июля 2017

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

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

   string temp="Hello Stack overflow";
   if(temp.Length>10)
   {
    string textIWant = temp.Remove(0, 10);
   }
1 голос
/ 25 августа 2011

Для:

var str = "hello world!";

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

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

или

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

Первый вариант предпочтительнее, поскольку для него требуется только один параметр метода.

1 голос
/ 25 августа 2011

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

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

string s = "hello world!";
s = s.Substring(Math.Max(0, Math.Min(10, s.Length - 1)));
1 голос
/ 25 августа 2011

Использовать метод подстроки.

string s = "hello world";
s=s.Substring(10, s.Length-10);
0 голосов
/ 18 июля 2017

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

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

p будет:

"lo world".

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...