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);
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);
Chơi thử chứ t ko bik gì hết
Bạn có thể nói rõ hơn ko ?
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 ý:
Mình đang học nha, đoán chơi thôi chứ chưa bít code thế nào.
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
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.
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.
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
Mình đã đọc dc theo dòng, mình đang bắt tay vào :D. Thank you so much