Hướng dẫn cách tách email ra khỏi chuỗi trong Dart

Bài viết này sẽ hướng dẫn anh em cách tách email ra khỏi chuỗi trong Dart hay “extract emails” để nhận danh sách các email có trong đoạn văn bản.

Hướng dẫn cách tách email ra khỏi chuỗi trong Dart
Hướng dẫn cách tách email ra khỏi chuỗi trong Dart

Ở bài viết trước mình đã hướng dẫn cách validate email trong Dart cho anh em sử dụng Regular Expression thì ở bài viết này cũng tương tự nhưng kết quả là danh sách các email tồn tại trong đoạn văn.

'Thông tin chúng tôi đã gửi qua địa chỉ email của bạn là : [email protected]. '
'Và chúng tôi đã cc qua email : [email protected]. '
'Nếu bạn muốn biết thêm thông tin có thể truy cập vào website: https://1kho.info.'

Ví dụ chúng ta có 1 đoạn văn như trên và yêu cầu bài toán đặt ra là lấy ra danh sách các email có trong đoạn văn trên.

Cách tách email ra khỏi chuỗi trong Dart

Chúng ta sẽ viết 1 hàm sử dụng Regular Expression tương tự với cách validate email, do sử dụng trong đoạn văn nên chúng ta cần chú ý thêm các tùy chỉnh multiline = true để tìm ở nhiều dòng.

List<String> extractEmailsFromString(String string) {
  final emailPattern = RegExp(r'\b[\w\.-]+@[\w\.-]+\.\w{2,4}\b',
      caseSensitive: false, multiLine: true);
  final matches = emailPattern.allMatches(string);
  final List<String> emails = [];
  if (matches != null) {
    for (final Match match in matches) {
      emails.add(string.substring(match.start, match.end));
    }
  }

  return emails;
}

Cách sử dụng

void main() {
  final emails = extractEmailsFromString('Thông tin chúng tôi đã gửi qua địa chỉ email của bạn là : [email protected]. '
'Và chúng tôi đã cc qua email : [email protected]. '
'Nếu bạn muốn biết thêm thông tin có thể truy cập vào website: https://1kho.info.');
  print(emails);
}

// Kết quả trả về 
[[email protected], [email protected]]

Một số từ khóa bằng tiếng Anh để các bạn có thể tìm hiểu thêm như “How to extract emails from a String on Flutter“, “Flutter extract emails“, “dart extract emails“, “extract emails dart“, “dart extract emails regexp“.

Nếu bạn muốn học Lập trình Flutter cơ bản có thể xem qua Lập trình Flutter cơ bản trên 1kho.info. Và theo dõi Fanpage 1Kho.info để theo dõi những bài mới nhất https://www.facebook.com/1kho.info

5 1 đánh giá
Đánh giá bài viết
Theo dõi
Thông báo của
guest

0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận
0
Rất thích suy nghĩ của bạn, hãy bình luận.x