Stringfunktionen programmieren

starter2g

Grünschnabel
hallo :) ich lerne selbst c# und hab ein paar fragen bekommen die ich gerne wissen wie ich es löse

______________
Aus einem String sollen die Zeichen ab einer eingegeben Positionen in einer bestimmten Länge gelöscht werden (ohne Verwendung der Stringfunktionen!).
Beispiel:
Eingaben :Donaudampfschiff, 6,5
Ausgabe :Donauschiff
______
Aus einem String sollen die Zeichen zwischen zwei eingegeben Positionen gelöscht werden (ohne Verwendung der Stringfunktionen!).
Beispiel:
Eingaben :Donaudampfschiff, 6,5
Ausgabe :Donauschiff
______
Eine Funktion, welche einen String als aufbereitete Telefonnummer übergeben bekommt und daraus alle Zeichen, die nicht zur Nummer gehören eliminiert (ohne Verwendung der Stringfunktionen!).
Beispiel:
Eingaben : DEM 50.000,--
***100.000,50***
Ausgabe :50000
100000,5
______
Eine Funktion, welche einen String als aufbereiteten Zahlungsbetrag übergeben bekommt und daraus alle Zeichen, die nichts mit dem Zahlenwert zu tun haben eliminiert (ohne Verwendung der Stringfunktionen!).
Beispiel:
Eingabe: (+43)-1/20105/DW404
Ausgabe:43120105404

______
Überprüfe einen String, ob es sich dabei um eine korrekte Oktalzahl handelt. Ein korrekte Oktalzahl beginnt mit einer 0 (null) und enthält nur Ziffern zwischen 0 und 7. (Option: Rückgabe des entsprechenden Dezimalwertes)

______

Überprüfe einen String, ob es sich dabei um eine korrekte Hexadezimalzahl handelt. Ein korrekte Hexadezimalzahl beginnt mit 0x und enthält danach Ziffern und Buchstaben zwischen a und f (Klein- oder Großbuchstaben). (Option: Rückgabe des entsprechenden Dezimalwertes)
___________
wäre cool wenn mir jemand es erklärt :)
mvg
 

Spyke

Premium-User
Vereinfach gesagt ist ein string ein char Array.
Über die Length eingeschafft bekommst du ja die Länge des string und damit auch die Anzahlelemente des char Arrays.
In einer for Schleife könntest du jetzt z.B. theoretisch die zeichen einzeln durchlaufen und prüfen/weiterverarbeiten.

Code:
for(int i=0; i<meinString.Length; i++)
{
    if(meinString[i]=='a')
              .... was tun
    else if(meinString[i] >='0' && meinString[i] <= '9')
              .... was anderes tun
    .....
}

Ansonsten klingts eigentlich ziemlich nach hausaufgaben.
 

starter2g

Grünschnabel
danke fürs Antworten :/
ich verstehes schon halbwegs
wäre cool wenn Sie mir so ein Beispiel geben :3
wir müssen auch mit Methoden machen
 
Zuletzt bearbeitet:

raruk

Grünschnabel
Hallo,

Mit dieser Methode werden die Buchstaben aus dem String gelöscht und der zugeschnittene String zurück gegeben:

Code:
private string cutString(string input, int from, int anzahl)
        {
            string output = "";
            int i= 0;
            while (i < input.Length)
            {
                if (i < from-1 || i >= from-1 + anzahl)
                {
                    output += input[i];
                    i++;
                }
                else
                {
                    i = i + anzahl;
                }
            }
            return output;
        }

Mit dieser Methode kannst du die Telefonnummer von den lästigen Zeichen säubern:
Code:
private string cleanNumberFromLetters(string number)
        {
            string cleaned="";

            int i = 0;
            while (i < number.Length)
            {
                char temp = number[i];
                if(temp >= 48 && temp <= 57)
                {
                    cleaned += temp;
                }
                i++;
            }
            return cleaned;
        }

Für die Aufgabe mit dem Geld kannst du einfach die 2. Methode von mir ein bisschen überarbeiten (2 strings übergeben und beide säubern. Den 2. kannste dann mit der Math.Round()-Methode auf eine Stelle runden).

Hoffe es hilft dir,
Gruss