Đếm số từ duy nhất
Thuộc phần Logic và luồng điều khiển trong hành trình Dart của Coddy. Bài học 55 trên 65.
Thử thách
DễTiếp tục dự án phân tích văn bản, giờ bạn sẽ triển khai chức năng đếm số từ duy nhất. Bước này sẽ xác định có bao nhiêu từ khác nhau xuất hiện trong văn bản bằng cách dùng Set để tự động loại bỏ các từ trùng lặp khỏi danh sách từ.
- Dùng biến
textToAnalyzetừ phần thiết lập trước đó - Dùng biến
totalCharacterstừ bước đếm ký tự - Dùng biến
wordListtừ bước tách từ - Dùng biến
totalWordstừ bước đếm từ - Chuyển danh sách từ thành Set bằng
Set.from()để tự động loại bỏ các từ trùng lặp - Lưu Set thu được vào một biến có tên
uniqueWordsSet - Đếm số từ duy nhất bằng thuộc tính
.lengthcủa Set - Lưu số từ duy nhất vào một biến có tên
uniqueWordCount - Hiển thị kết quả phân tích từ duy nhất theo đúng định dạng bên dưới
- Hiển thị văn bản gốc, số ký tự, danh sách từ, tổng số từ, tập hợp các từ duy nhất và số từ duy nhất với định dạng phù hợp
Ví dụ, nếu trình phân tích văn bản của bạn được thiết lập với "Hello world hello", chương trình sẽ in ra:
Text Analysis Tool - Unique Words
====================================
Analyzing text: "Hello world hello"
Total characters: 17
Words found: [Hello, world, hello]
Total words: 3
====================================
Unique Word Analysis Results:
Unique words: {Hello, world, hello}
Unique word count: 3
====================================
Unique word analysis completed successfully.Nếu trình phân tích văn bản của bạn được thiết lập với "The cat and the dog", chương trình sẽ in ra:
Text Analysis Tool - Unique Words
====================================
Analyzing text: "The cat and the dog"
Total characters: 19
Words found: [The, cat, and, the, dog]
Total words: 5
====================================
Unique Word Analysis Results:
Unique words: {The, cat, and, the, dog}
Unique word count: 5
====================================
Unique word analysis completed successfully.Nếu trình phân tích văn bản của bạn được thiết lập với "apple banana apple cherry banana", chương trình sẽ in ra:
Text Analysis Tool - Unique Words
====================================
Analyzing text: "apple banana apple cherry banana"
Total characters: 33
Words found: [apple, banana, apple, cherry, banana]
Total words: 5
====================================
Unique Word Analysis Results:
Unique words: {apple, banana, cherry}
Unique word count: 3
====================================
Unique word analysis completed successfully.Chương trình nên dùng Set.from() để chuyển danh sách từ thành Set. Thao tác này sẽ tự động loại bỏ các từ trùng lặp và giữ lại những từ duy nhất. Thuộc tính .length của Set sẽ cho bạn biết số lượng từ duy nhất. Phân tích này giúp xác định mức độ phong phú về từ vựng của văn bản và sẽ được dùng cùng các chỉ số khác trong những bài học sắp tới.
Tự làm thử
import 'dart:io';
void main() {
String? textToAnalyze = stdin.readLineSync();
int totalCharacters = textToAnalyze!.length;
List<String> wordList = textToAnalyze.split(' ');
int totalWords = wordList.length;
print('Text Analysis Tool - Word Count');
print('====================================');
print('Analyzing text: "$textToAnalyze"');
print('Total characters: $totalCharacters');
print('Words found: $wordList');
print('====================================');
print('Word Count Results:');
print('Total words: $totalWords');
print('====================================');
print('Word counting completed successfully.');
}Tất cả bài học trong Logic và luồng điều khiển
1Thao tác nâng cao với danh sách
Thuộc tính danh sách: đầu và cuốiTrạng thái danh sách: isEmpty và isNotEmpĐảo ngược danh sáchThêm vào danh sách: insertXóa khỏi danh sách: removeWhereTìm trong danh sách: indexOfSắp xếp danh sáchXáo trộn danh sáchÔn tập: trình sắp xếp danh sách4Thao tác nâng cao với Map
Duyệt qua MapKiểm tra khóa và giá trịCác thuộc tính của Map: khóa và giá trịThêm có điều kiện: putIfAbsentXóa mục khỏi MapMap lồng nhauÔn tập: Cập nhật kho hàng2Thao tác hàm trên danh sách
Biến đổi bằng 'map'Lọc bằng 'where'Dùng '.toList()'Kiểm tra điều kiện bằng 'any'Điều kiện với 'every'Tìm phần tử bằng 'firstWhere'Ôn tập: lọc dữ liệu5Dự án: Tính tiền giỏ hàng
Thiết lập dự ánThêm mặt hàng vào giỏ8Dự án: Trình phân tích văn bản đơn giản
Tổng quan và thiết lập dự ánĐếm ký tự3Tập hợp
Tập hợp là gì?Tạo tập hợpThêm và xóa phần tử khỏi tập hợpKiểm tra phần tử trong tập hợpChuyển danh sách thành tập hợpPhép hợp của các tập hợpPhép giao của các tập hợpPhép hiệu của các tập hợpÔn tập: danh sách khách mời không trùng lặpTự luyện tập: Trình biên dịch Dart online