Saya ingin menghapus tiga karakter terakhir dari sebuah string:
string myString = "abcdxxx";
Perhatikan bahwa string adalah data dinamis.
Saya ingin menghapus tiga karakter terakhir dari sebuah string:
string myString = "abcdxxx";
Perhatikan bahwa string adalah data dinamis.
Jawaban:
baca 3 karakter terakhir dari string [Pertanyaan yang awalnya diajukan]
Anda dapat menggunakan string.Substring dan memberikannya indeks awal dan itu akan mendapatkan substring mulai dari indeks yang diberikan hingga akhir.
myString.Substring(myString.Length-3)
Mengambil substring dari instance ini. Substring dimulai pada posisi karakter yang ditentukan. MSDN
Edit , untuk postingan terbaru
Hapus 3 karakter terakhir dari string [Pertanyaan yang diperbarui]
Untuk menghapus tiga karakter terakhir dari string Anda dapat menggunakan string.Substring (Int32, Int32) dan memberikan indeks awal 0dan indeks akhir tiga kurang dari panjang string . Ini akan mendapatkan substring sebelum tiga karakter terakhir.
myString = myString.Substring(0, myString.Length-3);
Metode String.Substring (Int32, Int32)
Mengambil substring dari instance ini. Substring dimulai pada posisi karakter tertentu dan memiliki panjang tertentu.
Anda juga dapat menggunakan metode String.Remove (Int32) untuk menghapus tiga karakter terakhir dengan meneruskan indeks awal sebagai panjang - 3 , ini akan menghapus dari titik ini ke akhir string.
myString = myString.Remove(myString.Length-3)
Mengembalikan string baru di mana semua karakter dalam contoh saat ini, dimulai dari posisi tertentu dan berlanjut hingga posisi terakhir, telah dihapus
Saya membaca semua ini, tetapi menginginkan sesuatu yang sedikit lebih elegan. Hanya untuk menghapus sejumlah karakter dari akhir string:
string.Concat("hello".Reverse().Skip(3).Reverse());
keluaran:
"he"
Enumerable.Reversemenyangga string menjadi a char[], lalu menyangga menjadi yang baru char[]3 lebih pendek, dan kemudian menghasilkan yang baru string(dengan yang lain secara internal char[]). Pendekatan yang lebih baik adalah new string("hello".Reverse().Skip(3)), atau hanya menulis fungsi ekstensi string Anda sendiri AllBut(this string in, int i)yang menggunakan Substring.
Lengthdisimpan.
.SkipLast(n). Tidak perlu membalikkan apa pun. "hello".SkipLast(3)memberikan"he"
myString.Remove(myString.Length-3);
myString = myString.Remove(myString.Length - 3)itu adalah.
string test = "abcdxxx";
test = test.Remove(test.Length - 3);
//output : abcd
Anda dapat menggunakan String.Removeuntuk menghapus dari posisi tertentu hingga akhir string.
myString = myString.Remove(myString.Length - 3);
Mungkin tidak persis seperti yang Anda cari karena Anda mengatakan itu "data dinamis" tetapi mengingat string contoh Anda, ini juga berfungsi:
? "abcdxxx".TrimEnd('x');
"abc"
myString.Substring(myString.Length - 3, 3)
Berikut adalah contoh tentang substring. >>
http://www.dotnetperls.com/substring
Referensikan itu.
Hapus karakter terakhir dari string
TXTB_DateofReiumbursement.Text = (gvFinance.SelectedRow.FindControl("lblDate_of_Reimbursement") as Label).Text.Remove(10)
.Text.Remove(10)// digunakan untuk menghapus teks mulai dari indeks 10 hingga akhir
Mudah. text = text.remove(text.length - 3). Saya mengurangi 3 karena Removefungsinya menghapus semua item dari indeks itu ke akhir string yang text.length. Jadi jika saya mengurangi 3 maka saya mendapatkan string dengan 3 karakter dihapus darinya.
Anda dapat menggeneralisasi ini untuk menghapus akarakter dari akhir string, seperti ini:
text = text.remove(text.length - a)
Jadi apa yang saya lakukan adalah logika yang sama. The removeFungsi menghapus semua item dari dalam untuk akhir dari string yang panjang teks. Jadi jika saya mengurangi adari panjang string yang akan memberi saya string dengan akarakter yang dihapus.
Jadi ini tidak hanya bekerja untuk 3, itu bekerja untuk semua bilangan bulat positif, kecuali jika panjang string kurang dari atau sama dengan a, dalam hal ini akan mengembalikan angka negatif atau 0.