Rút trích thông tin từ cv

Cách 2: Đọc cái này
with

   JsonParser parser = new JsonParser();
   JsonObject o = (JsonObject)parser.parse(one_by_one_line_from_text_file);
1 Like

Chơi thử chứ t ko bik gì hết :frowning:

1 Like

Bạn có thể nói rõ hơn ko ? :slight_smile:

Cảm ơn anh nhé. Nhưng cái vấn đề ở đây e thắc mắc là làm sao chúng ta có thể đặt ra 1 quy luật ví dụ:
“Auhust 29th 1990” thì sẽ tự động đặt vào biến _dob. Làm sao chúng ta có thể lấy dc chính xác những chuỗi và đặt vào đúng cái biến của nó nhỉ?

Hiện mình đã đọc đc cái content của cái file (pdf hoặc doc) r đó bạn, nhưng ko bik làm sao để rút trích chính xác cái chuỗi vào đúng cái biến của nó?

This post was flagged by the community and is temporarily hidden.

Hix, nếu chỉ có một mẫu thì tốt quá, nhưng làm cho nhiều trường hợp lun á. CV mỗi người viết mỗi kiểu mà huhu.

Về xử lý đọc file thì mình không rành lắm nhưng mình nghĩ nếu bạn lấy được đoạn text như hình bạn chụp thì bạn đọc từng dòng sau đó tách nội dung bằng hàm split truyền vào dấu “:” ổn không nhỉ

Mỗi người viết 1 kiểu nhưng mẫu CV phải như nhau

Nếu không thể tạo cho data 1 mẫu nhận dạng thì điều này là không thể.
Và, Ít nhât bạn cần show 2 CV ví dụ cho mình xem

Non nớt và ngu ý:

  • Bạn làm cái bộ validations cho các thông tin trên.
  • Đọc thông tin từ file và check với từng validation. Khớp thì ăn.

Mình đang học nha, đoán chơi thôi chứ chưa bít code thế nào.:grinning:

1 Like

Có thể dùng một library có học máy để classified các value vào đúng các key.
Ps: bạn OCR từ file bằng gì vậy

Như mình đã nói, bạn cần đưa ít nhất 2 mẫu CV mình mới có thể làm chính xác được.
Điều này phụ thuộc vào file CV của bạn.

Giả sử tất cả các file cv có 1 dấu hiệu để nhận biết. Đó là trong CV sẽ có 1 dòng chứa string Date_of_Birth:

------------------------
CV1
               Mẫu CV1
Date_of_Birth: 
Name:
Gender:
Marital Status:
Carrier:
------------------------
CV2
               Mẫu CV2
Name:
Date_of_Birth: 
Gender:
Marital Status:
Mobile:
 -------------------------

Trường hợp 1:
Không theo dòng

Ở CV1 Date_of_Birth: dòng 1 nhưng CV 2 Date_of_Birth: dòng 2

Và công việc bạn cần làm đó là đọc từng dòng rồi tìm dòng nào có String "Date_of_Birth: : sau đó tách chuỗi sau ra đưa vào Object class POJO mình hướng dẫn ở trên.

  //code ví dụ
  String line = // đọc theo từng dòng 
 -> giả sử line = "Dat of birth: August 29th 1990 "
  if(line.contains("Dat of birth:")){
           String[] data= line.split(":");
           String dob = data[1]; // August 29th 1990 
  }
  if(line.contains("Gender")){
           String[] data= line.split(":");
           String gender= data[1];
  }
...... 4 fields còn lại cũng như vậy
         //tao 1 object lưu thông tin 
          POJO pojo = new POJO(dob, gender, status, national, mobile, email);
                            "August 29th 1990" // đã được gán vào dob 
   //chính là dòng này
   POJO pojo = new POJO(dob, gender, status, national, mobile, email);

Trường hợp 2:

Các mẫu CV giống nhau.

Tất cả dòng 1 đều là Date_of_Birth: . Bạn chỉ việc đọc dòng 1 -> tách chuỗi ở sau "Date_of_Birth: " và gán vào object

2 Likes

Chắc chắn là CV khác nhau (hackathon của topitwork), có thể bị sai chính tả các key Daet of birth chẳng hạn
Ps: mà POJO là gì thế nhỉ, thấy bạn voodoo cũng thường hay đặt tên vậy

This post was flagged by the community and is temporarily hidden.

1 Like

Plain Old Java Object which is an ordinary Java object with the restrictions removed
Ví dụ đơn giản là khi bạn tạo 1 class miêu tả thiết trong database chính là đang tạo 1 class POJO.

1 Like

Cảm ơn bạn nhiều, mình nghĩ đây là hướng đi tốt nhất. <3

Cảm ơn bạn nha, bây giờ mình sẽ bắt tay vào làm thử vì mình nghĩ solution của bạn là cách tốt nhất. Một lần nữa cảm ơn bạn thật nhiều <3

Nếu bạn đã đọc được từng dòng thì đơn giản thôi

DOB: Tạo 1 mảng chứa ngày tháng theo cả tiếng anh + tiếng việt.Đọc ra chuỗi nào có 3 chữ mà các chữ này đều trong mảng thì tách ra
Gender: Male / Female? easy?
Quốc gia: Cho 200 quốc gia vào 1 cái linkedlist: Check có trong này thì lấy
Mobile: Phải bắt đầu từ 0 có 10 hoặc 11 số -> tách số ra
Email. Bắt buộc có @. -> lấy dòng này ra

2 Likes

Mình đã đọc dc theo dòng, mình đang bắt tay vào :D. Thank you so much

1 Like

1 bài viết của mình có liên quan đến POJO

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?