Xóa các ký tự "NUL"


94

Tôi có các ký tự như vậy trong notepad ++ của mình

ảnh chụp màn hình npp của NULs

Khi tôi đang cố gắng sao chép toàn bộ dòng, tôi thực sự đang sao chép mọi thứ cho đến "NUL":

File:1

Những gì tôi muốn làm, là thay thế những null, không có gì, vì vậy tôi có thể sao chép toàn bộ dòng của mình. Có thể có bất kỳ từ khóa nào sẽ yêu cầu notepad ++ (hoặc bất kỳ chương trình nào khác có thể giúp ích) để thay thế các ký tự đó? Khi tôi đang chọn nó, hãy sử dụng Nhấp chuột phải và sau đó "xóa", nó biến mất - nhưng tôi không muốn làm từng cái một.

Tôi không quan tâm đến việc loại bỏ nguyên nhân của vấn đề này, chỉ là hiệu ứng (NULs)

Câu trả lời:


105

Điều này có thể hữu ích, tôi đã sử dụng để fi các tệp của mình như thế này: http://security102.blogspot.ru/2010/04/findreplace-of-nul-objects-in-notepad.html

Về cơ bản, bạn cần thay thế các ký tự \ x00 bằng các biểu thức chính quy


Vâng, đó là những gì tôi đang tìm kiếm. Cảm ơn rất nhiều :)
user2618929

7
Xin lưu ý, bạn hãy thử "\ x00", "\ 00" hoặc "\ 0". Đối với tôi, \ x00 và \ 00 không hoạt động. Tôi cần sử dụng \ 0 cho ký tự thay thế.
Hooplator

1
@JohnAugust cảm ơn bạn rất nhiều vì điều này. \ x00 tiếp tục tìm các khoảng trắng 'bình thường' cũng như các ký tự NUL.
Steffen Winkler

Thx muốn tìm kiếm một tập tin .dmp cho một khối văn bản nhiều dòng. Tuy nhiên không may bị rơi notepad cho tôi probaly bởi vì kích thước của bãi
Mellester

38

Nhấp vào Tìm kiếm -> Thay thế -> Tìm Nội dung: \ 0 Thay thế bằng: "trống" Chế độ tìm kiếm: Mở rộng -> Thay thế tất cả


Mở rộng để làm gì ??
rimalonfire

@rimiro được mở rộng theo nghĩa là các ký tự thoát đặc biệt (ký tự siêu biểu thức chính quy cơ bản như \ n v.v.) có thể được đối sánh với thay vì chỉ đơn giản là các ký tự đã nhập.
twobob

9

Tôi đã gặp vấn đề tương tự. Những điều trên đã đưa tôi đi đúng hướng nhưng không hoàn toàn đúng trong trường hợp của tôi. Những gì đã làm công việc có liên quan chặt chẽ:

  • Mở tệp của bạn trong Notepad ++
  • Gõ Control-A (chọn tất cả)
  • Gõ Control-H (thay thế)
  • Trong loại 'Tìm gì' \x00
  • Trong 'Thay thế Bằng' để lại BLANK
  • Trong 'Chế độ tìm kiếm' đã chọn 'Mở rộng'
  • Sau đó bấm vào 'Replace All'

5

Thử Tìm và Thay thế. gõ \ x00 vào hộp Tìm văn bản, chọn tùy chọn Biểu thức chính quy. Để trống hộp văn bản Replace và nhấp vào thay thế tất cả. phím tắt để tìm và thay thế là ctrl + H.


6
tìm bằng \ x00. Bạn có thể yêu cầu kiểm tra tùy chọn Biểu thức chính quy.
Miller

Bạn phải sử dụng một biểu thức chính quy, câu trả lời này là sai vì rõ ràng là bạn có thể sao chép qua một char đặc biệt giống như vậy
mahieddine

Tôi đã đưa ra câu trả lời theo câu hỏi của SO, anh ấy đang hỏi trên notepad ++ chứ không phải notepad. Tôi không hiểu tại sao mọi người lại bỏ phiếu cho câu trả lời của tôi và những người khác lại ủng hộ câu trả lời của AlexShumilov.
Miller

2

Tôi đã cố gắng sử dụng \ x00 và nó không hoạt động với tôi khi sử dụng C # và Regex. Tôi đã thành công với những điều sau:

//The hexidecimal 0x0 is the null character  
mystring.Contains(Convert.ToChar(0x0).ToString() );  

// This will replace the character
mystring = mystring.Replace(Convert.ToChar(0x0).ToString(), "");  

Điều này có liên quan gì với Notepad ++?
ChrisWue

2

Mở Notepad ++
Chọn Thay thế (Ctrl / H)
Tìm nội dung: \ x00
Thay thế bằng:
Nhấp vào nút radio Biểu thức chính quy
Nhấp vào Thay thế Tất cả


-1

Đánh dấu một ký tự rỗng, goto find thay thế - nó thường tự động chèn văn bản được đánh dấu vào hộp tìm. Nhập khoảng trắng vào hoặc để trống hộp thay thế.


8
Điều này không hoạt động với ký tự NUL trong Notepad ++. Nó hoạt động với nhiều ký tự đặc biệt ASCII khác, chẳng hạn như BEL, nhưng NUL chỉ có thể được tìm thấy bằng cách sử dụng mã thoát mở rộng hoặc RegEx.
Ayelis,
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.