In einem String bis zu einem bestimmten Zeichen lesen

ParadiseCity

Erfahrenes Mitglied
Hi!
Entweder steh ich total auf der Leitung oder ich bin einfach nur so so blöd...
wie kann ich in einem String alles bis zu einem bestimmten Zeichen herauslesen

wäre sehr dankbar...
 
aaa vielen dank! ;)

Ich steh aber zZ wieder auf der Leitung :( :-(
Ich habe eine Combobox (comboKunden)
Und ich bin wieder mal so blöd, und kann aus der Box nichts mehr auslesen, und ich hätte auch den Index eines Zeichens gebraucht:
Code:
int index = comboKunde.Items.IndexOf("#");
beim Debuggen hat aber index immer den Wert -1 (also nicht gefunden)

wäre wieder mal dankbar für eure Hilfe :)
 
Hi,
Code:
comboKunde.Items.IndexOf("#");
wuerde in deiner ComboBox nach einem Objekt suchen das nur den Wert '#' enthält. Ich nehme aber mal an, dass das '#' nur ein Teil des Objekts ist. Du musst also jedes Item durchgehen, in einen String umwandeln (.ToString()) und in diesem nach dem '#' suchen.
Code:
private void button1_Click(object sender, System.EventArgs e)
{
	this.comboBox1.Items.Add("hallo");
	this.comboBox1.Items.Add("wie");
	this.comboBox1.Items.Add("gehts#");
}

private void button2_Click(object sender, System.EventArgs e)
{
	int index = -99;
	for(int i = 0; i < this.comboBox1.Items.Count; i++)
		if(this.comboBox1.Items[i].ToString().IndexOf("#") != -1)
			index = i;
	MessageBox.Show(index.ToString());
}
Ich hoffe ich liege mit der Annahme richtig.

// edit

Das geht natuerlich nur wenn die Items in der ComboBox Strings sind. Man kann ja auch Objekte in die ComboBox fuellen. Wenn es Objekte sind muesste die Abfrage so in der Art lauten:
Code:
for....
    if(((Kunde)this.comboBox1.Items[i]).Vorname.IndexOf("#") != -1)
         index = i;
MessageBox....
 
Zuletzt bearbeitet:
ähm...danke...hilft mir zwar nur etwas weiter... (aber ich glaube ich habe meine frage wieder mal unklar definiert :-) sorry)

Ich habe in jedem Item der Combobox 1x dieses Zeichen (zB "#") und möchte Je nach dem welches ich auswähle alles bis zu diesem auslesen...
Beispiel:
Inhalt der Combobox:
"13#blubb"
"984#hugo"
"55#blabla"

und jetzt möchte ich, wenn ich zB das 1. Element auswähle alles bis zum # auslesen und in eine Variable speichern...
 
Achso, na dann..

Code:
// Event der ausgeloest wird wenn sich der Index in der ComboBox aendert
private void comboBox1_SelectedIndexChanged(object sender, System.EventArgs e)
{
	string a = this.comboBox1.Items[this.comboBox1.SelectedIndex].ToString();
	int index = a.IndexOf("#");
	string b = a.Substring(0, index);
}
Ist eigentlich genau das selbe wie in deiner ersten Frage, nur das der "Herkunfts"-String diesmal in der ComboBox steht.
 
Zurück