Giúp em tìm kí tự ẩn

Liên hệ QC

trungtamcnc

Thành viên hoạt động
Tham gia
5/4/10
Bài viết
124
Được thích
9
Em có 1 đề thi, nhưng nó có kí tự ẩn, nằm trong khoảng trắng của từ "Câu" và số thứ tự của câu. Nên khi đặt lệnh tìm kiếm, VD: Câu 1 thì không thể tìm được. Nhờ các bác giúp em. Em cũng đã cho hiện kí tự ẩn như: Tab, enter, khoảng trắng .. nhưng không xác định được nó. Em cảm ơn! Cụ thể như ảnh và file ạ.cau.PNG
 

File đính kèm

  • Ki tu an.docx
    13 KB · Đọc: 21
" có kí tự ẩn "
 

File đính kèm

  • Ki tu an_.docx
    13 KB · Đọc: 5
Thí nghiệm1: chọn thẻ Home -> chọn Find -> gõ ^21. Sẽ có 3 kết quả tìm kiếm.

Thí nghiệm2: chọn thẻ Home -> chọn Replace -> trong trường "Find what" gõ ^21 -> trường "Replace with" để trống -> nhấn "Replace All" -> Save lại tập tin.

Bây giờ có thể tìm "Câu 1", "Câu 2" và "Câu 3".

Sau "Câu" + "dấu cách" là ký tự có code = 21.
 
Ký tự 21 tôi tra là ký tự View attachment 263877 mà anh?
1. Unicode Character 'NEGATIVE ACKNOWLEDGE' (U+0015)


2.

code2.jpg

Trong tất cả các trang mã (code page), vd. trang mã Vietnamese Windows 1258, thì nửa trên (code 0 - 127) y như nhau.
Ký tự có code 21 (thập phân) = 0015 (hex) thuộc nhóm ký tự ĐIỀU KHIỂN (vd. ký tự có code 13 (thập phân) - ENTER = 0D (hex))

vietnamese.jpg

3. Anh thêm code như hình rồi chạy thì anh thấy ký tự có mã 21 (thập phân) = 0015 (hex)

code.jpg

4. Thì anh cứ làm theo Thí nghiệm2 thì sau đó tìm được "Câu 1", "Câu 2" và "Câu 3".

5. Nếu trên sheet nhập công thức =UNICHAR(21) thì sẽ nhìn thấy như anh. Nhưng cái "hình chữ nhật đứng" đó không phải là glyph, không phải là "hình hài" diện mạo của ký tự. Phần lớn các ký tự không chỉnh sửa được - không là ký tự văn bản sẽ được hiển thị bằng "hình chữ nhật đứng".
 
3. Anh thêm code như hình rồi chạy thì anh thấy ký tự có mã 21 (thập phân) = 0015 (hex)
Tôi cũng dùng code như vậy bên Excel thì không ra, Len("Câu 1") = 5, trong khi đó làm như anh bảo bên word thì lại ra, Len = 6.

1628604450154.png
 
Lần chỉnh sửa cuối:
Tra unicode không ra, thậm chí hàm Len không thấ
Anh chép sang Excel, đi nơi khác là mất tiêu luôn.
Từ thời office 2007, Microsoft chuyển sang dùng xml để quản lý dữ liệu các tập tin rồi. Vậy nên phần lớn các vấn đề xử lý trực tiếp từ *.xml là rất hay.
 
Thí nghiệm1: chọn thẻ Home -> chọn Find -> gõ ^21. Sẽ có 3 kết quả tìm kiếm.

Thí nghiệm2: chọn thẻ Home -> chọn Replace -> trong trường "Find what" gõ ^21 -> trường "Replace with" để trống -> nhấn "Replace All" -> Save lại tập tin.

Bây giờ có thể tìm "Câu 1", "Câu 2" và "Câu 3".

Sau "Câu" + "dấu cách" là ký tự có code = 21.
Bác có thể cho em biết làm sao tìm được "nó" chính là kí tự có code 21 ạ? Em thử thay ngược lại: "space" = "space"^21 thì toàn được ô vuông. Hay nói cách khác cách tạo ra nó ạ? Em cảm ơn ạ!
 
Bác có thể cho em biết làm sao tìm được "nó" chính là kí tự có code 21 ạ?
Nếu bạn đọc kỹ bài #7 mà tôi bỏ nhiều công để viết thì bạn sẽ khôg hỏi câu này.
Em thử thay ngược lại: "space" = "space"^21 thì toàn được ô vuông. Hay nói cách khác cách tạo ra nó ạ?
Tôi không nghiên cứu nên không biết. Chỉ có một câu hỏi: bạn muốn thêm ký tự có code 21 để làm gì? Để thỏa mãn sự tò mò?
 
Nếu bạn đọc kỹ bài #7 mà tôi bỏ nhiều công để viết thì bạn sẽ khôg hỏi câu này.

Tôi không nghiên cứu nên không biết. Chỉ có một câu hỏi: bạn muốn thêm ký tự có code 21 để làm gì? Để thỏa mãn sự tò mò?
Còn em hỏi cách đưa kí tự mã 21 vào để tìm hiểu nguyên nhân mà thôi. Em viết được code đánh số thứ tự các câu hỏi, lâu nay chạy rất tốt. Gặp phải trường hợp này code không chạy. May nhờ các bác quan tâm nên giải quyết được ạ. Cảm ơn bác.
 
Còn em hỏi cách đưa kí tự mã 21 vào để tìm hiểu nguyên nhân mà thôi. Em viết được code đánh số thứ tự các câu hỏi, lâu nay chạy rất tốt. Gặp phải trường hợp này code không chạy. May nhờ các bác quan tâm nên giải quyết được ạ. Cảm ơn bác.
Hình như chỉ có tôi là đưa ra cần câu thôi. :D
 
Em chạy đoạn code của bác batman1, thấy những con số:
67
226
117
32
21
49
58
13
Hai bác batman1 và ptm0412 giúp em chi tiết hơn đi. Dựa vào đâu để biết mã 67 là bình thường còn 21 là loại ẩn, mối liên hệ giữa 0015 và 21 ạ. Em cảm ơn.
 
Em chạy đoạn code của bác batman1, thấy những con số:
67
226
117
32
21
49
58
13
Hai bác batman1 và ptm0412 giúp em chi tiết hơn đi. Dựa vào đâu để biết mã 67 là bình thường còn 21 là loại ẩn, mối liên hệ giữa 0015 và 21 ạ. Em cảm ơn.



Trong Excel có hàm để xác định điểm mã của ký tự: CODE và UNICODE.
Hãy nhập từ bàn phím một ký tự bất kỳ vào A1, và nhập vào B1 công thức
Mã:
=UNICODE(A1)
Trong B1 sẽ có điểm mã của ký tự trong A1.

Trong code VBA tương ứng dùng hàm Asc và AscW

Vd. nhập lần lượt vào A1, A2, ... các ký tự vd. 0, 1, 2, ..., 9, a, b, ..., z, A, B, ..., Z thì bạn sẽ thấy điểm mã của 0-9, a-z, A-Z ở những khoảng nào. Đấy là nói về nghịch cho biết. Còn các điểm mã thế nào thì nhìn trong Windows 1258 (trang mã vietnamese) mà tôi bỏ công ra để chèn vào bài #7.

Những ký tự có điểm mã từ 0 đến 127 là như nhau trong mọi trang mã (codepage). Các ký tự có điểm mã 0-31 là các ký tự điều khiển.
 
Có thể dữ liệu trong file kia được chép từ trên mạng (website nào đó) nên có ký tự đó.
Nhận biết đơn giản là nó có bề rộng = 0. Tức là để trỏ chuột sau số 1 rồi ấn phím arrow left 3 phát sẽ thấy có lần trỏ chuột không dịch chuyển.
 
Web KT
Back
Top Bottom