テキストを単語に分割する
CoddyのDartジャーニー「論理とフロー」セクションの一部 — レッスン 53/65。
チャレンジ
簡単テキスト解析プロジェクトの続きとして、今回は単語分割機能を実装します。このステップでは、テキストを個々の単語に分解し、今後のレッスンで行う単語レベルの解析の基礎を築きます。
- 前のセットアップで使用した
textToAnalyze変数を使用します - 文字数カウントのステップで使用した
totalCharacters変数を使用します - スペース文字を区切り文字として
split()メソッドを使用し、テキストを個々の単語に分割します - 結果として得られる単語のリストを
wordListという名前の変数に格納します - 単語分割の解析結果を、以下に示す正確な形式で表示します
- 元のテキスト、文字数、および適切にフォーマットされた単語のリストを表示します
例えば、テキスト解析ツールが "Hello world!" でセットアップされている場合、プログラムは次のように出力する必要があります:
Text Analysis Tool - Word Splitting
====================================
Analyzing text: "Hello world!"
Total characters: 12
====================================
Word Splitting Results:
Words found: [Hello, world!]
====================================
Word splitting completed successfully.テキスト解析ツールが "The quick brown fox" でセットアップされている場合、プログラムは次のように出力する必要があります:
Text Analysis Tool - Word Splitting
====================================
Analyzing text: "The quick brown fox"
Total characters: 19
====================================
Word Splitting Results:
Words found: [The, quick, brown, fox]
====================================
Word splitting completed successfully.テキスト解析ツールが "Programming is fun!" でセットアップされている場合、プログラムは次のように出力する必要があります:
Text Analysis Tool - Word Splitting
====================================
Analyzing text: "Programming is fun!"
Total characters: 19
====================================
Word Splitting Results:
Words found: [Programming, is, fun!]
====================================
Word splitting completed successfully.プログラムでは、文字列に対して split(' ') メソッドを使用して、スペースで区切られた個々の単語に分割する必要があります。結果のリストには、各単語が個別の文字列要素として含まれ、これらは次のレッスンでの単語カウントや解析に使用されます。句読点は、それらが含まれる単語に付いたままになることに注意してください。
自分で試してみよう
import 'dart:io';
void main() {
String? textToAnalyze = stdin.readLineSync();
int totalCharacters = textToAnalyze!.length;
print('Text Analysis Tool - Character Count');
print('====================================');
print('Analyzing text: "$textToAnalyze"');
print('====================================');
print('Character Analysis Results:');
print('Total characters (including spaces): $totalCharacters');
print('====================================');
print('Character counting completed successfully.');
}論理とフローのすべてのレッスン
1リスト操作の応用
リストのプロパティ: first と lastリストの状態: isEmpty と isNotEmptyリストの反転リストへの追加: insertリストの削除: removeWhereリスト内の検索: indexOfリストのソートリストのシャッフルまとめ - リストオーガナイザー