Я хочу удалить последние три символа из строки:
string myString = "abcdxxx";
Обратите внимание, что строка представляет собой динамические данные.
Я хочу удалить последние три символа из строки:
string myString = "abcdxxx";
Обратите внимание, что строка представляет собой динамические данные.
читать последние 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)
Возвращает новую строку, в которой все символы в текущем экземпляр, начиная с указанной позиции и продолжая через последняя позиция была удалена
myString = myString.Remove(myString.Length - 3, 3);
Я прочитал все это, но хотел чего-то более элегантного. Просто, чтобы удалить определенное количество символов из конца строки:
string.Concat("hello".Reverse().Skip(3).Reverse());
выход:
"he"
myString.Remove(myString.Length-3);
string test = "abcdxxx";
test = test.Remove(test.Length - 3);
//output : abcd
Вы можете использовать String.Remove
для удаления из указанной позиции до конца строки.
myString = myString.Remove(myString.Length - 3);
str= str.Remove(str.Length - 3);
Вероятно, не совсем то, что вы ищете, поскольку вы говорите, что это "динамические данные", но, учитывая строку примера, это также работает:
? "abcdxxx".TrimEnd('x');
"abc"
myString.Substring(myString.Length - 3, 3)
Ниже приведены примеры подстроки. →
http://www.dotnetperls.com/substring
Обратитесь к ним.
string myString = "abcdxxx";
if (myString.Length<3)
return;
string newString=myString.Remove(myString.Length - 3, 3);
Удалить последние символы из строки
TXTB_DateofReiumbursement.Text = (gvFinance.SelectedRow.FindControl("lblDate_of_Reimbursement") as Label).Text.Remove(10)
.Text.Remove(10)
//используется для удаления текста, начиная с индекса 10 и заканчивая
items.Remove(items.Length - 3)
string.Remove()
удаляет все элементы из этого индекса до конца. items.length - 3
получает индекс 3 символа с конца
Легко. 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.