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

58

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

Input:

str = "hello world!";

Вывод:

d!
  • 8
    String.substring (9); где 9 - начальный индекс
  • 0
    Не забудьте сначала проверить, что строка содержит не менее 10 символов, иначе вы получите исключение.
Показать ещё 2 комментария
Теги:
string
substring

10 ответов

60
Лучший ответ
str = "hello world!";
str.Substring(10, str.Length-10)

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

136

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

или

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

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

  • 0
    Это должен быть правильный ответ.
11

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

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

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

4

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

2

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!

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

1

Используйте метод подстроки.

string s = "hello world";
s=s.Substring(10, s.Length-10);
  • 2
    выдает исключение, если строка короче начального индекса
1

Для:

var str = "hello world!";

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

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

или

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

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

1

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

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

string s = "hello world!";
s = s.Substring(Math.Max(0, Math.Min(10, s.Length - 1)));
  • 0
    в настоящее время он возвращает последний символ из строки, если длина строки не превышает 10 символов.
0

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

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

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

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

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

p будет:

"мир".

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню