Buch Cover Buch Cover Buch Cover Buch Cover

Web-Code: - Webcode Help

Strings (Zeichenketten)

Realisieren Sie ein C-Programm, das eine Zeichenkette einliest,
aber nur die ersten 5 zulaessigen Zeichen erfasst. Zulaessig sollen nur
Buchstaben und Ziffern ( A-Z; a-z; 0-9 ) sowie die Sonderzeichen '.' ',' '-' sein.
Alle anderen Zeichen sollen ignoriert, d. h. nicht erfasst werden.

Hinweis:

Die Ueberpruefung soll nach Abschluss der kompletten Eingabezeile erfolgen ( durch {ENTER} o. {RETURN} )
und nicht schon waehrend der Eingabe der einzelnen Zeichen!

0 Kommentare

Bitte melde dich an um einen Kommentar abzugeben

4 Lösung(en)

function validChars(str) {
  str = str.replace(/[^A-Z^a-z^0-9^,^.^-]/g, '');
  return str.substring(0, 5);
}


// test
console.log( validChars('Test') );        // Test
console.log( validChars('Test24') );      // Test2
console.log( validChars('Te$t24') );      // Tet24
console.log( validChars('TeSt!-4') );     // TeSt-
                

Lösung von: Lisa Salander (Heidi-Klum-Gymnasium Bottrop)

// NET 5.x; C# 9.x

using static System.Console;
using System.Collections.Generic;
using System.Text.RegularExpressions;

List<string> l = new() { "12test", "!123test", "t.est45!", "12**34!6" };
l.ForEach(x => WriteLine(string.Join("", new Regex(@"[a-zA-Z0-9\.\,\-]").Matches(x))[..5]));
                

Lösung von: Jens Kelm (@JKooP)

#include <stdio.h>
#include <string.h>

int main(void)
{
    char input[31];
    char output[6];
    int counter = 0;

    printf("Bitte Zeichenkette (max. 30 Zeichen) eingeben: ");
    scanf("%[^\n]", input);

    for (int i = 0; i < strlen(input); i++)
    {
        if (input[i] >= '0' && input[i] <= '9' || 
            input[i] >= 'A' && input[i] <= 'Z' || 
            input[i] >= 'a' && input[i] <= 'z' || 
            input[i] == '.' || input[i] == ',' || input[i] == '-') {
            strncat(output, &input[i], 1);
            counter++;
        }
        if (counter == 5) break;
    }

    printf("%s", output);
    return 0;
}
                

Lösung von: Jens Kelm (@JKooP)

def get_valid_chars(s, n_chars=5):
    def is_valid(char):
        return 'A' <= char <= 'Z' or 'a' <= char <= 'z' or '0' <= char <= '9' or char in ('.', ',', '-')
    out = ""
    for char in s:
        if not is_valid(char):
            continue
        out += char
        if len(out) == n_chars:
            return out
    return out

print(get_valid_chars('Test'))  # Test
print(get_valid_chars('Test24'))  # Test2
print(get_valid_chars('Te$t24'))  # Tet24
print(get_valid_chars('TeSt!-4'))  # TeSt-
                

Lösung von: Name nicht veröffentlicht

Aktionen

Bewertung

Durchschnittliche Bewertung:

Eigene Bewertung:
Bitte zuerst anmelden

Meta

Zeit: 0.25
Schwierigkeit: Mittel
Webcode: 28hw-dsmj
Autor: ()

Download PDF

Download ZIP

Zu Aufgabenblatt hinzufügen