none
das erste zeichen eines strings abschneiden RRS feed

  • Frage

  • Hallo Zusammen...

     

    Wie ich aus einem string ein zeichen auslese und dieses in einem anderen String speichern kann weiß ich,

    jedoch wie kann ich das erste zeichen eines strings abschneiden ohne einen neuen string zu generieren?

    Samstag, 30. Oktober 2010 17:53

Antworten

  • Hi,

    Also ich möchte das erste zeichen von einem string abschneiden.

    Aber nicht das abgeschnittene Zeichen in einem string enthalten, sonder das übergebliebene.

    Mit .Substring kann ich zwar das erste zeichen abschneiden, aber nur in einem neunen String speichern...

    MyString = MyString.Substring( 1 )

    Wenn Du bspw. folgenden String in MyString hast: "Hallo Welt", hast Du hinterher "allo Welt".

    Siehe auch: http://msdn.microsoft.com/de-de/library/hxthx5h6.aspx

    Kleiner Nachtrag: Wichtig dabei ist, dass Du das Ergebnis von MyString.Substring( ... ) derselben Variable wieder zuweist, dann hast Du das gewünschte Ergebnis.

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    • Als Antwort markiert nuri543 Samstag, 30. Oktober 2010 19:42
    Samstag, 30. Oktober 2010 18:39
    Moderator

Alle Antworten

  • Hallo n

    Frage ist relativ unklar.

    Meine Interpretationen:
    Erste:
       Strings sind unveränderlich (schreibgeschützt,'immutable'),
    http://msdn.microsoft.com/de-de/library/system.string.aspx
    es entsteht im Prinzip bei jeder Manipulation (zB per String.* -Methoden wie Substring) eine neue String-Instanz.
    Alternative wäre wie oben in MSDN genannt ggf via StringBuilder.

    Zweite, falls es um das erste (einzelne) Zeichen geht:
      string text = "Hallo";
      char firstChar = text[0];

    aber all dies liest sich sicherlich detailiert in jedem C# Grundlagenbuch.

    Samstag, 30. Oktober 2010 18:02
  • Tut mir leid, dass die Frage etwas unklar ist...

     

    Also ich möchte das erste zeichen von einem string abschneiden.

    Aber nicht das abgeschnittene Zeichen in einem string enthalten, sonder das übergebliebene.

     

    Mit .Substring kann ich zwar das erste zeichen abschneiden, aber nur in einem neunen String speichern...

    Und der rest bleibt aber leider gleich, also den sTring von den ich was abschneiden wolltte .

     

    Samstag, 30. Oktober 2010 18:19
  • n,

    es bleibt alles beim genannten,
    erstens sind Strings unveränderlich,
    und zweitens gibt es die Substring-Variante mit Start- und Längenparameter
       (für deinen 'Rest', also ggf ein bisschen zählen nötig!):

    String.Substring-Methode (Int32, Int32)
    http://msdn.microsoft.com/de-de/library/aka44szs.aspx

    wo man bekanntlich _aufpassen_ muss, dass er den Unterstring als _Rückgabewert_ liefert,
    den Originalstring aber unverändert lässt.

    Bsp:
      string text = "Ameise";
      string rest = text.Substring(1, 5);  // "meise"


    damit ist alles hier direkt (elementar) Mögliche genannt, damit kann man (musst auch du) klarkommen.
      [oder uU den anderen Ansatz per StringBuilder, mit entsprechend auch abweichenden Konzepten]

    Samstag, 30. Oktober 2010 18:38
  • Hi,

    Also ich möchte das erste zeichen von einem string abschneiden.

    Aber nicht das abgeschnittene Zeichen in einem string enthalten, sonder das übergebliebene.

    Mit .Substring kann ich zwar das erste zeichen abschneiden, aber nur in einem neunen String speichern...

    MyString = MyString.Substring( 1 )

    Wenn Du bspw. folgenden String in MyString hast: "Hallo Welt", hast Du hinterher "allo Welt".

    Siehe auch: http://msdn.microsoft.com/de-de/library/hxthx5h6.aspx

    Kleiner Nachtrag: Wichtig dabei ist, dass Du das Ergebnis von MyString.Substring( ... ) derselben Variable wieder zuweist, dann hast Du das gewünschte Ergebnis.

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    • Als Antwort markiert nuri543 Samstag, 30. Oktober 2010 19:42
    Samstag, 30. Oktober 2010 18:39
    Moderator
  • Jo das ist es was ich suchte, danke
    Samstag, 30. Oktober 2010 19:42