Unbekannter Teil am ende eines Strings entfernen

Planet_Mars

Mitglied
Hallo alle zusammen,

ich weiß, die Frage ist bestimmt banal, aber ich komm nciht drauf.

Ich möchte einen String, der beliebig lang ist, kürzen. Der String ist ungefähr immer so aufgebaut:
"1.1.1.1.2.3.a"
Jetzt möchte ich immer den letzten Punkt plus dass was danach kommt, können auch mehrere Zeichen sein, entfernen.
Der String sollte am Ende dann so aus sehen:
"1.1.1.1.2.3"

Danke für eure Hilfe.
Gruß
Marc
 
Hi

Hast du es schon mal mit substring probiert?

Code:
  string a = "1.2.3.4.5.a";
  a = a.subString(0, a.lastIndexOf("."));

DarkGreetinx
 
Sicherlich nicht die performanteste Variante aber das sollte funktionieren:
Code:
string[] splitted = this.textBox1.Text.Split('.');
string result = "";
for (int i = 0; i < (splitted.Length-1); i++) 
{
	if (result.Length == 0)
		result = splitted[i];
	else
		result += "." + splitted[i];
}
this.textBox1.Text = result;

.... unter der Annahme du hast eine TextBox mit dem Namen textBox.

Sollten hier Anregungen kommen, warum ich denn nicht den StringBuilder verwende, da dieser ja viel performanter mit Strings umgeht:

Mit Strings zu arbeiten ist weniger Aufwand, solange die Anzahl der Stringmanipulationen unter ca. 10 Manipulationen liegt.

Warum verwende ich kein foreach?
Mit Strings bitte immer for verwenden ... ist performancemäßig wesentlich besser. Ab .NET 2.0 ists dann egal.
 
So ists richtig :)
Code:
a = a.Substring(0, a.LastIndexOf("."));

Dies ist natürlich auch eine Möglichkeit. Aber ich kann jetzt nicht genau sagen, wie Substring und LastIndexOf intern arbeitet :)

PS: Ja, bin a bisserl am Performance-Trip momentan *versteckt sich*

LordDeath hat gesagt.:
Hi

Hast du es schon mal mit substring probiert?

Code:
  string a = "1.2.3.4.5.a";
  a = a.subString(0, a.lastIndexOf("."));

DarkGreetinx
 
Die SubString Methode erscheint mir am einfachsten weil er ein klares Trennzeichen hat,
das sich einfach mit LastIndexOf bestimmen lässt.
Bei mir hat das bis jetzt immer funktioniert.

DarkGreetinx
 
Jaja, hast schon recht. Ich hab nur versucht den Punkt Performance reinzubringen.

LordDeath hat gesagt.:
Die SubString Methode erscheint mir am einfachsten weil er ein klares Trennzeichen hat,
das sich einfach mit LastIndexOf bestimmen lässt.
Bei mir hat das bis jetzt immer funktioniert.

DarkGreetinx
 
Zurück