Tôi đang sử dụng Máy quét và Dấu phân cách để mã hóa tệp .txt của tôi (đây là bài tập về nhà mà tôi phải làm). Phiên bản đầu tiên của tập tin trông như thế này:Máy quét Java Dilimiter
5,5,5,6,5,8,9,5,6,8, good, very good, excellent, good
7,7,8,7,6,7,8,8,9,7,very good, Good, excellent, very good
8,7,6,7,8,7,5,6,8,7 ,GOOD, VERY GOOD, GOOD, AVERAGE
9,9,9,8,9,7,9,8,9,9 ,Excellent, very good, very good, excellent
7,8,8,7,8,7,8,9,6,8 ,very good, good, excellent, excellent
6,5,6,4,5,6,5,6,6,6 ,good, average, good, good
7,8,7,7,6,8,7,8,6,6 ,good, very good, good, very good
5,7,6,7,6,7,6,7,7,7 ,excellent, very good, very good, very good
Và tôi đã sử dụng useDelimiter("[ ]*(,)[ ]*")
phiên bản thứ hai của tập tin trông như thế này:
5 5 5 6 5 8 9 5 6 8 good, very good, excellent, good
7 7 8 7 6 7 8 8 9 7 very good, Good, excellent, very good
8 7 6 7 8 7 5 6 8 7 GOOD, VERY GOOD, GOOD, AVERAGE
9 9 9 8 9 7 9 8 9 9 Excellent, very good, very good, excellent
7 8 8 7 8 7 8 9 6 8 very good, good, excellent, excellent
6 5 6 4 5 6 5 6 6 6 good, average, good, good
7 8 7 7 6 8 7 8 6 6 good, very good, good, very good
5 7 6 7 6 7 6 7 7 7 excellent, very good, very good, very good
Và tôi không thể đưa ra một regexp mà sẽ giúp tôi phân tách các số bằng dấu cách và các từ bằng dấu phẩy. Về cơ bản, tôi cần một mảng với 14 giá trị (rất tốt là một biến duy nhất)
Lưu ý có nhiều khoảng trống (điều này được thực hiện nhằm mục đích làm cho chúng ta khó khăn hơn).
Vì vậy, mọi loại trợ giúp sẽ được đánh giá cao.
P.S. Chúng tôi chỉ được phép sử dụng ký tự phân cách chỉ (không chia tách vv ..)
Có 'không gian' (\ s) và ' các lớp ký tự từ '(\ w) và' digit '(\ d) và' word boundary '(\ b) cho regex có thể giúp bạn. –
Bạn có muốn dấu phẩy giữa số cuối cùng và từ đầu tiên không? – nattyddubbs
Tôi không cần thêm bất kỳ thứ gì vào tệp, tôi chỉ cần trích xuất các giá trị và đặt chúng vào một mảng đa chiều trong trường hợp này, nó sẽ là [8] [14], các từ sẽ được thay thế bằng các số thích hợp. –