Mehrere Programmiersprachen können dies erreichen. Hier sind Beispiele in Python und C ++. Beide Versionen handhaben potenzielle Leit-/Nachverfolgung mit Weiß und mehreren Räumen zwischen den Wörtern angemessen.
Python:
`` `Python
Def count_chars_words (Zeile):
"" "Zählt Zeichen und Wörter in einer Textzeile.
Args:
Zeile:Die Eingangszeichenfolge.
Rückgaben:
Ein Tupel, das die Charakterzahl und die Wortzahl enthält. Gibt (0,0) für leere Eingaben zurück.
"" "
line =line.strip () # Entfernen Sie Leading/Trailing Whitespace
Wenn nicht Linie:
Rückkehr 0, 0
char_count =len (Zeile)
Word_Count =len (line.split ()) #Split on Whitespace
return char_count, word_count
#Expample -Verwendung
Line ="Dies ist eine Beispiellinie."
Zeichen, Wörter =count_chars_words (Zeile)
print (f "Zeile:'{Zeile}'"))
print (f "Zeichenanzahl:{chars}")
print (f "Wortzahl:{Words}")
Zeile2 ="Eine andere Linie mit zusätzlichen Räumen."
Zeichen, Wörter =count_chars_words (Zeile2)
print (f "\ nline:'{line2}'"))
print (f "Zeichenanzahl:{chars}")
print (f "Wortzahl:{Words}")
Linie 3 ="" #Test leere Linie
Zeichen, Wörter =count_chars_words (Zeile3)
print (f "\ nline:'{line3}'"))
print (f "Zeichenanzahl:{chars}")
print (f "Wortzahl:{Words}")
`` `
c ++:
`` `cpp
#include
#include
#Include
Verwenden von Namespace STD;
Pair countChorswords (const string &line) {
String trimmedline =line;
Trimmedline.erase (0, Trimmedline.find_first_not_of ("\ t \ n \ r \ f \ v")); // Führende Weißespace entfernen
Trimmedline.erase (Trimmedline.find_last_not_of ("\ t \ n \ r \ f \ v") + 1); // Nachfolger weißespace entfernen
if (trimmedline.empty ()) {
return make_pair (0, 0);
}
int charCount =Trimmedline.length ();
int WordCount =0;
STRINGSTREAM SS (Trimmedline);
Saitenwort;
while (ss>> word) {
WordCount ++;
}
return make_pair (CharCount, WordCount);
}
int main () {
String line ="Dies ist eine Beispielzeile.";
Auto zählt =countCharswords (Linie);
cout <<"Zeile:'" <
cout <<"Zeichenanzahl:" <
cout <<"Wortzahl:" <
String Line2 ="Eine andere Zeile mit zusätzlichen Räumen.";
zählt =countCharswords (Zeile2);
cout <<"\ nline:'" <
cout <<"Zeichenanzahl:" <
cout <<"Wortzahl:" <
String Line3 =""; // leere Linie testen
zählt =countCharswords (Zeile3);
cout <<"\ nline:'" <
cout <<"Zeichenanzahl:" <
cout <<"Wortzahl:" <
Rückkehr 0;
}
`` `
Denken Sie daran, den C ++ -Code zu kompilieren, bevor Sie ihn ausführen (z. B. unter Verwendung von g ++:`g ++ your_file_name.cpp -o your_exexecle_name`). Beide Programme verarbeiten verschiedene Whitespace -Szenarien effizient und bieten robuste Charakter- und Wortzählung. Die Python -Version ist im Allgemeinen prägnanter.