Hallo,
Ich bin gerade mir Csharp einwenig am beibringen und einarbeiten.
Doch habe ein kleines Problem mein String ist etwas größer und kann
ich diesen nicht einfachen 1char Seperator trennen. Dafür habe ich
die zeichenkette "//::\" gewählt. Doch bekomme ich immer die meldung :
Fehlermeldung:
Fehler 1 Die beste Übereinstimmung für die überladene string.Split(params char[])-Methode hat einige ungültige Argumente. ........\ConsoleApplication2\ConsoleApplication2\Program.cs 31 31 ConsoleApplication2
string[] text = s.Split("//::\\");
Könnt ihr mir die Richtige funktion und dessen Syntax erklären ?
Danke schonmal im vorraus! 🙂
Hallo,
meines Wissens ist " " ein String und ' ' Char. Wenn du mit nur einem Zeichen trenen willst kannst du direckt 'c' an der Funktion eigeben. Bei mehreren Zeichen musst du dann ein char-Array machen und die Variable der Funktion übergeben.
Wer zu Letzt lach hat es nicht eher begriffen. :evil:
string[] text = s.Split(new string[] {"//::\\"});
sollte Abhilfe schafften aber \ ist ja nur \ willst du 2 \ musst du entweder \\ oder @"//::\" angeben.
**:::
versuch mal:
string[] text = s.Split(@"//::\\");
Weeks of programming can save you hours of planning
Hallo Jack77,
warum ratet ihr denn hier alle rum? 🙂 Das geht doch bis auf LaBoLe-Vorschlag alles nicht.
string[] text = s.Split('/', ':', '\\');
herbivore
Stimmt, ich habe es gar nicht ausprobiert, und dachte es liegt an dem "".
Allerdings erwartet die Funktion ja ganz andere Argumente: MSDN: String.Split Method
Weeks of programming can save you hours of planning
yep, bei meinem Vorschlag habe ich die StringSplitOption vergessen 😄, nun richtig wäre z.B.:
string[] text = s.Split(new string[] {@"//::\\"}, StringSplitOptions.None);
**:::
Hallo vbprogger,
das würde - so wie ich das sehe- aber den String nur da splitten, wo die sechs Zeichen //::\ in dieser Reihenfolge hintereinander stehen. Das ist sicher nicht gemeint.
herbivore
Ah ... ich hab' nicht mehr drauf geachtet 😄, {"//", "::", @"\"} sollte schon helfen, oder?
**:::
Hallo vbprogger,
nö, immer noch nicht ganz. Jetzt würde nur da getrennt werden, wo die genannten Zeichen doppelt vorkommen, also eben //, :: oder \. Wenn man wirklich an einzelnen Zeichen trennen will, ist es besser diese als Character und nicht als String anzugeben. Zumal mal man für Charakter kein char-Array braucht, sondern diese wie in meinem Beispiel direkt angeben kann.
herbivore
Aber ich dachte er verwendet doch Doppelzeichen, oder nicht? Denn man sieht :: in seinem Ursprungpost.
**:::
Hallo vbprogger,
ich halte es für unwahrscheinlich, dass hier etwas anderes gemeint war, als dass bei den einzelnen Zeichnen getrennt werden soll.
herbivore
das würde - so wie ich das sehe- aber den String nur da splitten, wo die sechs Zeichen //::\ in dieser Reihenfolge hintereinander stehen. Das ist sicher nicht gemeint.
herbivore
Doch, genau das hat der TE gemeint. Er möchte den String mit einer Zeichenkette trennen, nicht nur mit einem einzelnen Zeichen.
"nicht einfachen 1char Seperator trennen. Dafür habe ich
die zeichenkette "//::\" gewählt."
und ich suchte auch dafür eine Lösung und habe die hiermit gefunden.
Danke!!
Viele Grüße
Oliver
Und für diese Antwort holst du einen 11 Jahre alten Thread wieder aus dem Grab?
Da der TE auch nur diesen einen Post gemacht hat, wirst du auch kaum noch Feedback bekommen.
T-Virus
Developer, Developer, Developer, Developer....
99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.
Sorry, ich wollte nur mal Danke sagen.
Viele Grüße
Oliver
Sorry, ich wollte nur mal Danke sagen.
Muss auch mal sein. Kam an 😉 👍
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code