Autor Beitrag
MasterUller
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 16



BeitragVerfasst: Mi 07.08.13 09:43 
Hallo.
Ich suche jetzt schon ewig nach einer Lösung für mein Problem und habe nichts passenden gefunden, deswegen hoffe ich doch sehr, dass ihr mir helfen könnt.

Wie es schon oben steht ist meine Frage: Wie schaffe ich es von einen string die letzten 2 Zeichen abzuspalten und in ein Array zu speichern?
Ich schaffe es nur durch z.B.: test.Text.Split(" ".ToCharArray()) nach einen Leerzeichen zu trennen, aber ich will nur die letzten 2 Zeichen abspalten und das Leerzeichen nicht mehr eingeben müssen.


Moderiert von user profile iconChristian S.: Topic aus WinForms verschoben am Mi 07.08.2013 um 09:59
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Mi 07.08.13 10:05 
Eine Entsprechung von Split die mit Positionen arbeitet gibt es nicht. Da wirst du dir mit string.Substring was basteln müssen.
Beispiel für eine entsprechende Extension Method

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
class Program
{
    static void Main(string[] args)
    {
        string test = "Hallo Welt";

        string[] splitted = test.SplitByIndex(246).ToArray();
        string[] splittedFromEnd = test.SplitByIndex(test.Length - 2).ToArray();

    }
}

public static class Helper
{
    public static IEnumerable<string> SplitByIndex(this string source, params int[] indexes)
    {
        int lastIndex = 0;
        foreach (var index in indexes)
        {
            if (index >= source.Length)
                break;

            yield return source.Substring(lastIndex, index - lastIndex);
            lastIndex = index;
        }
        yield return source.Substring(lastIndex);
    }
}

Für diesen Beitrag haben gedankt: MasterUller
jfheins
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 918
Erhaltene Danke: 158

Win 10
VS 2013, VS2015
BeitragVerfasst: Mi 07.08.13 10:10 
Also wenn es dir wirklich nur um zwei Zeichen geht:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
    static void Main()
    {
        string str = "Hallo Welt";        
        var l = str.Length;

        char[] array = new char[] {str[l-2], str[l-1]};
    }


Wenn es auch mal n Zeichen sein sollen: stackoverflow.com/qu...ents-of-a-collection

Für diesen Beitrag haben gedankt: MasterUller
MasterUller Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 16



BeitragVerfasst: Mi 07.08.13 10:29 
Vielen dank für die 2 schnellen Antworten.

Dadurch konnte ich jetzt mein Problem lösen... Vielen dank!