Подтвердить что ты не робот

Удалить последние три символа из строки

Я хочу удалить последние три символа из строки:

string myString = "abcdxxx"; 

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

4b9b3361

Ответ 1

  читать последние 3 символа из строки [изначально заданный вопрос]

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

myString.Substring(myString.Length-3)

Получает подстроку из этого экземпляра. Подстрока начинается с указанная позиция персонажа. MSDN

Изменить, для обновленного сообщения

Удалить последние 3 символа из строки [обновленный вопрос]

Чтобы удалить последние три символа из строки, вы можете использовать string.Substring(Int32, Int32) и дать ему начальный индекс 0 и конечный индекс на три меньше длины строки. Он получит подстроку перед последними тремя символами.

myString = myString.Substring(0, myString.Length-3);

Метод String.Substring(Int32, Int32)

Получает подстроку из этого экземпляра. Подстрока начинается с указанная позиция символа и имеет указанную длину.

Вы также можете использовать метод String.Remove(Int32), чтобы удалить последние три символа, передав начальный индекс длиной - 3, он будет удален с этой точки до конца строки.

myString = myString.Remove(myString.Length-3)

Метод String.Remove(Int32)

Возвращает новую строку, в которой все символы в текущем экземпляр, начиная с указанной позиции и продолжая через последняя позиция была удалена

Ответ 2

myString = myString.Remove(myString.Length - 3, 3);

Ответ 3

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

string.Concat("hello".Reverse().Skip(3).Reverse());

выход:

"he"

Ответ 4

myString.Remove(myString.Length-3);

Ответ 5

string test = "abcdxxx";
test = test.Remove(test.Length - 3);
//output : abcd

Ответ 6

Вы можете использовать String.Remove для удаления из указанной позиции до конца строки.

myString = myString.Remove(myString.Length - 3);

Ответ 7

str= str.Remove(str.Length - 3);

Ответ 8

Вероятно, не совсем то, что вы ищете, поскольку вы говорите, что это "динамические данные", но, учитывая строку примера, это также работает:

? "abcdxxx".TrimEnd('x');
"abc"

Ответ 9

myString.Substring(myString.Length - 3, 3)

Ниже приведены примеры подстроки. →

http://www.dotnetperls.com/substring

Обратитесь к ним.

Ответ 10

   string myString = "abcdxxx";
   if (myString.Length<3)
      return;
   string newString=myString.Remove(myString.Length - 3, 3);

Ответ 11

Удалить последние символы из строки

TXTB_DateofReiumbursement.Text = (gvFinance.SelectedRow.FindControl("lblDate_of_Reimbursement") as Label).Text.Remove(10)

.Text.Remove(10)//используется для удаления текста, начиная с индекса 10 и заканчивая

Ответ 12

items.Remove(items.Length - 3)

string.Remove() удаляет все элементы из этого индекса до конца. items.length - 3 получает индекс 3 символа с конца

Ответ 13

Легко. text = text.remove(text.length - 3). Я вычел 3, потому что функция Remove удаляет все элементы из этого индекса до конца строки, которая является text.length. Поэтому, если я вычту 3, то получу строку с удаленными из нее 3 символами.

Вы можете обобщить это, удалив символы a из конца строки, например:

text = text.remove(text.length - a) 

Так что я сделал ту же логику. Функция remove удаляет все элементы изнутри до конца строки, которая является длиной текста. Поэтому, если я вычту a из длины строки, получится строка с удаленными символами a.

Таким образом, он работает не только для 3, он работает для всех натуральных чисел, за исключением случаев, когда длина строки меньше или равна a, в этом случае он возвращает отрицательное число или 0.