Kenapa kamu punya seperti itu string? Saya berasumsi karena sebuah loop yang menggabungkan koma dengan ints. Anda bisa menggunakan string.Join(",", ints)sebagai gantinya. Itu menghindari koma di tempat pertama.
Ini adalah solusi terbaik karena berfungsi untuk semua string, termasuk situasi di mana Anda tidak tahu sebelumnya JIKA string sebenarnya diakhiri dengan koma, atau tidak.
East of Nowhere
6
Inilah mengapa saya masih mencari solusi bahkan untuk hal-hal yang dapat saya tulis sendiri dengan mudah. Biasanya orang lain telah memecahkannya. :)
dpberry178
1
Jadi, kutipan tunggal itu bukanlah kesalahan. Hari ini saya belajar bahwa karakter dan string masing-masing didefinisikan dengan kutipan tunggal dan ganda.
Kecil kemungkinan Anda menginginkan cara ini, tetapi saya ingin menunjukkannya. Dan ingat, String.Removemetode tidak menghapus karakter apa pun dalam string asli, ia mengembalikan string baru.
Metode TrimEnd mengambil larik karakter masukan dan bukan string. Kode di bawah ini dari Dot Net Perls , menunjukkan contoh yang lebih efisien tentang bagaimana melakukan fungsi yang sama seperti TrimEnd.
staticstringTrimTrailingChars(stringvalue)
{
int removeLength = 0;
for (int i = value.Length - 1; i >= 0; i--)
{
charlet = value[i];
if (let == '?' || let == '!' || let == '.')
{
removeLength++;
}
else
{
break;
}
}
if (removeLength > 0)
{
returnvalue.Substring(0, value.Length - removeLength);
}
returnvalue;
}
string
? Saya berasumsi karena sebuah loop yang menggabungkan koma denganint
s. Anda bisa menggunakanstring.Join(",", ints)
sebagai gantinya. Itu menghindari koma di tempat pertama.Jawaban:
Coba
string.TrimEnd()
:Something = Something.TrimEnd(',');
sumber
Jawaban Raja Raja tentu saja benar. Juga komentar Tim Schmelter juga merupakan saran yang bagus dalam kasus Anda.
Tetapi jika Anda mau benar benar menghapus koma terakhir dalam sebuah string , Anda harus mencari indeks koma terakhir dan menghapus like;
string s = "1,5,12,34,12345"; int index = s.LastIndexOf(','); Console.WriteLine(s.Remove(index, 1));
Output akan menjadi;
1,5,12,3412345
Di sini a
demonstration
.Kecil kemungkinan Anda menginginkan cara ini, tetapi saya ingin menunjukkannya. Dan ingat,
String.Remove
metode tidak menghapus karakter apa pun dalam string asli, ia mengembalikan string baru.sumber
Mencoba
string.Remove();
string str = "1,5,12,34,"; string removecomma = str.Remove(str.Length-1); MessageBox.Show(removecomma);
sumber
Metode TrimEnd mengambil larik karakter masukan dan bukan string. Kode di bawah ini dari Dot Net Perls , menunjukkan contoh yang lebih efisien tentang bagaimana melakukan fungsi yang sama seperti TrimEnd.
static string TrimTrailingChars(string value) { int removeLength = 0; for (int i = value.Length - 1; i >= 0; i--) { char let = value[i]; if (let == '?' || let == '!' || let == '.') { removeLength++; } else { break; } } if (removeLength > 0) { return value.Substring(0, value.Length - removeLength); } return value; }
sumber
Atau Anda dapat mengubahnya menjadi Char Array terlebih dahulu dengan:
string Something = "1,5,12,34,"; char[] SomeGoodThing=Something.ToCharArray[];
Sekarang Anda memiliki setiap karakter
indexed
:SomeGoodThing[0] -> '1' SomeGoodThing[1] -> ','
Mainkan saja
sumber
Coba di bawah ini
Sesuatu..TrimEnd (",". ToCharArray ());
sumber
Dim psValue As String = "1,5,12,34,123,12" psValue = psValue.Substring(0, psValue.LastIndexOf(","))
keluaran:
1,5,12,34,123
sumber
Saat Anda memiliki spasi di bagian akhir. Anda bisa menggunakan beliow.
ProcessStr = ProcessStr.Replace(" ", ""); Emails = ProcessStr.TrimEnd(';');
sumber