2016-06-08 6 views
-1

Ich versucheWie teilt man einen String mit einem bestimmten Zeichen, ohne die Länge des Zeichens zu berücksichtigen?

Jetzt mit dem - Zeichen der Zeichenfolge teilen Ich habe auf dieser Zeichenfolge zu arbeiten. Bis jetzt spalte ich zuerst die Zeichenkette in Zeilen und finde dann das Vorkommen von und das Ersetzen der Zeile mit einem einzigen *, dann kombiniere ich die ganze Zeichenkette und spalte sie wieder.

Ich versuche, die Daten als

string[] set = 
{ 
    "abc 
    def", 
    "efg 
    hij", 
    "xyz 
    pqr" 
} 

Gibt es einen besseren Weg, dies zu tun zu bekommen?

+0

In diesem Beispiel behandelt "abcdef" als eine einzelne Zeichenfolge oder zwei separate Zeichenfolgen? –

+0

einzelne Zeichenfolge in verschiedenen Zeilen tho. – Drag0nKn1ght

+0

'String.split' macht genau das .. nicht wirklich sicher, was Sie sogar versucht haben. –

Antwort

4
var spitStrings = yourString.Split(new char[] { '-' }, StringSplitOptions.RemoveEmptyEntries); 

Wenn ich verstehe Ihre Frage, diese oben genannten Code sie löst.

+1

Sie gewinnen diese Runde. – fuzz

+0

lol, sie haben zu viel Zeit gebraucht, um die Frage zu verstehen –

+0

Und es tut mir leid wegen der fehlenden Erklärung. Nun, bedenke das jetzt als Vorteil! :) – Drag0nKn1ght

1

Ich bin verwirrt mit genau, was Sie fragen, aber wird das nicht funktionieren?

string[] seta = 
{ 
    "abc\ndef", 
    "efg\nhij", 
    "xyz\npqr" 
} 

\n = CR (Carriage Return) // Used as a new line character in Unix

\r = LF (Line Feed) // Used as a new line character in Mac OS

\n\r = CR + LF // Used as a new line character in Windows

(char)13 = \n = CR // Same as \n

Wenn ich Ihre Frage bin Verständnis über Aufspaltung - ‚s dann sollte die folgende arbeiten.

string s = "abc-def-efg-hij-xyz-pqr"; // example? 
string[] letters = s.Split(new char[] { '-' }, StringSplitOptions.RemoveEmptyEntries); 

Wenn das ist, was Ihr Array im Moment aussieht, dann können Sie eine Schleife durch sie wie folgt:

string[] seta = { 
    "abc-def", 
    "efg-hij", 
    "xyz-pqr" 
}; 

foreach (var letter in seta) 
{ 
    string[] letters = letter.Split(new char[] { '-' }, StringSplitOptions.RemoveEmptyEntries); 
    // do something with letters? 
} 
+0

ich versuche, die Zeichenfolge mit '-------' zu teilen. Egal wie viele '-' – Drag0nKn1ght

1

Die Verwendung der String-Split-Funktion unter Verwendung des spezifischen Zeichens oder der Zeichenkette (hier -) kann verwendet werden. Die Ausgabe wird Array von Zeichenfolgen sein. Wählen Sie dann die gewünschten Zeichenfolgen aus. Beispiel:

1

Ich bin dieser Code unten sicher wird Ihnen helfen, ...

string m = "adasd------asdasd---asdasdsad-------asdasd------adsadasd---asdasd---asdadadad-asdadsa-asdada-s---adadasd-adsd"; 
    var array = m.Split('-'); 

    List<string> myCollection = new List<string>(); 

    if (array.Length > 0) 
    { 
     foreach (string item in array) 
     { 
      if (item != "") 
      { 
       myCollection.Add(item); 
      } 
     } 
    } 

    string[] str = myCollection.ToArray(); 

wenn es dann nicht vergisst auf meine Antwort Dank zu markieren. ...;)

0
string set = "abc----def----------------efg----hij--xyz-------pqr" ; 
var spitStrings = set.Split(new char[]{'-'},StringSplitOptions.RemoveEmptyEntries); 

EDIT -

Er möchte die Strings aufteilen, egal wie viele '-' es gibt.

var spitStrings = set.Split(new char[]{'-'},StringSplitOptions.RemoveEmptyEntries); 

Dies wird die Arbeit tun.

+1

Könnten Sie bitte mehr Ihre Antwort ausarbeiten, indem Sie ein wenig mehr Beschreibung über die von Ihnen angebotene Lösung hinzufügen? – abarisone

Verwandte Themen