ฉันใช้ WinForms c # ฉันมีค่าสตริงดังต่อไปนี้
string Something = "1,5,12,34,";
ฉันต้องการลบเครื่องหมายจุลภาคสุดท้ายในสตริง แล้วฉันจะลบมันได้อย่างไร?
ฉันใช้ WinForms c # ฉันมีค่าสตริงดังต่อไปนี้
string Something = "1,5,12,34,";
ฉันต้องการลบเครื่องหมายจุลภาคสุดท้ายในสตริง แล้วฉันจะลบมันได้อย่างไร?
คำตอบ:
ลองstring.TrimEnd()
:
Something = Something.TrimEnd(',');
คำตอบของ King Kingนั้นถูกต้องแน่นอน นอกจากนี้ความคิดเห็นของ Tim Schmelter ก็เป็นข้อเสนอแนะที่ดีในกรณีของคุณ
แต่ถ้าคุณต้องการลบลูกน้ำสุดท้ายในสตริงจริงๆ คุณควรหาดัชนีของลูกน้ำตัวสุดท้ายแล้วลบ like;
string s = "1,5,12,34,12345";
int index = s.LastIndexOf(',');
Console.WriteLine(s.Remove(index, 1));
ผลลัพธ์จะเป็น;
1,5,12,3412345
นี่คือdemonstration
.
ไม่น่าเป็นไปได้มากที่คุณต้องการแบบนี้ แต่ฉันต้องการชี้ให้เห็น และอย่าลืมว่าString.Remove
method ไม่ได้ลบอักขระใด ๆ ในสตริงเดิม แต่จะส่งคืนสตริงใหม่
ลอง string.Remove();
string str = "1,5,12,34,";
string removecomma = str.Remove(str.Length-1);
MessageBox.Show(removecomma);
วิธีการ TrimEnd รับอาร์เรย์อักขระอินพุตไม่ใช่สตริง โค้ดด้านล่างจากDot Net Perlsแสดงตัวอย่างที่มีประสิทธิภาพมากขึ้นเกี่ยวกับวิธีการทำงานเช่นเดียวกับ 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;
}
หรือคุณสามารถแปลงเป็น Char Array ก่อนโดย:
string Something = "1,5,12,34,";
char[] SomeGoodThing=Something.ToCharArray[];
ตอนนี้คุณมีตัวละครแต่ละตัวindexed
:
SomeGoodThing[0] -> '1'
SomeGoodThing[1] -> ','
เล่นรอบ ๆ มัน
ลองดูด้านล่าง
Something..TrimEnd (",". ToCharArray ());
Dim psValue As String = "1,5,12,34,123,12"
psValue = psValue.Substring(0, psValue.LastIndexOf(","))
เอาต์พุต:
1,5,12,34,123
เมื่อคุณมีช่องว่างในตอนท้าย คุณสามารถใช้ beliow
ProcessStr = ProcessStr.Replace(" ", "");
Emails = ProcessStr.TrimEnd(';');
string
? ฉันคิดว่าเป็นเพราะลูปที่ต่อคอมมาสกับint
s คุณสามารถใช้string.Join(",", ints)
แทน ซึ่งจะหลีกเลี่ยงเครื่องหมายจุลภาคต่อท้ายในตอนแรก