2013-10-14 42 views
23

Tôi đã cố gắng tìm một giải pháp cho vấn đề của mình.Regex để xóa mọi thứ sau | (with |)

Input:

This is the sample title | mypcworld 

Output:

This is the sample title 

Tôi muốn loại bỏ tất cả những gì xảy ra sau khi "|" sử dụng regex đơn giản trên notepad ++ Nó có vẻ là thực sự đơn giản một. Nhưng tôi đã thử với một số regex khác "|. * $" Được liệt kê ở đây, nhưng không có may mắn. Vấn đề là nhân vật "|" đã được thay đổi tương đương hoặc. Vì vậy, hãy giúp tôi giải quyết nó.

+1

Làm thế nào về việc sử dụng một dấu chéo ngược '\\' trong phía trước của đường ống? –

+1

Có thể '\ |. *' ?? – DontVoteMeDown

+1

có thể trùng lặp của [Biểu thức chính quy khớp với ký tự đặc biệt dưới dạng chữ] (http://stackoverflow.com/questions/3035161/regular-expression-using-problem-in-js) –

Trả lời

58

Đường ống, |, là ký tự đặc biệt trong regex (có nghĩa là "hoặc") và bạn sẽ phải thoát khỏi nó bằng \.

Sử dụng regex hiện tại của bạn:

\|.*$ 

Tôi đã thử điều này trong Notepad ++, như bạn đã đề cập, và nó xuất hiện để làm việc tốt.

+0

Cảm ơn, nó đã hoạt động. –

+1

Nó hoạt động mọi lúc. :) – Alex

6

Trong một tập tin .txt mở với Notepad ++,
báo chí Ctrl-F
đi trong tab "Thay thế"
viết mô hình regex \|.+ trong không gian Find what
và để cho các không gian Thay thế bằng blank

Sau đó, chọn tùy chọn khớp với dòng mới sau khi chọn biểu hiện thường xuyên
và nhấn hai lần trên Thay nút

1

Nếu bạn muốn để có được tất cả mọi thứ sau | trừ thiết lập sử dụng nhân vật mã này.

[^|]*$ 

Khác giải pháp \|.*$

Results : | mypcworld 

này một [^|]*$

Results : mypcworld 

http://regexr.com/3elkd

Các vấn đề liên quan