2010-02-12 62 views
30

Tôi muốn xem tất cả các tệp mã nguồn của mình và thay thế mọi lần xuất hiện của k_Xyyy bằng k_xyyy (chuyển chữ cái đầu tiên sau k_ từ chữ hoa sang chữ thường).Làm thế nào để thay thế chữ in hoa thành chữ thường bằng regex trong Eclipse?

Tôi đang sử dụng hộp thoại nhật thực để tìm kiếm và thay thế nhiều tệp. Ngay bây giờ tôi có regex \bk_([A-Z]).

Làm cách nào để chỉ định chuỗi thay thế của regex?

+0

Bạn không thể sử dụng chức năng tính lại tiền của Eclipse cho điều này? –

+0

Tôi cần nó một cách thường xuyên bất cứ khi nào tôi tạo ra các thực thể từ các bảng có tiền tố tên cột. – chinto

Trả lời

11

Điều đó là không thể. Hoặc sử dụng chức năng tái bao thanh toán của Eclipse, hoặc thay thế chúng cùng một lúc:

regex  : \bk_A 
replacement : k_a 

regex  : \bk_B 
replacement : k_b 

... 

regex  : \bk_Z 
replacement : k_z 
15

Tôi chỉ giải quyết các nhiệm vụ tương tự (phải biến giao diện .net vào giao diện java) sử dụng sức mạnh của VIM :)

void DoMethod1 -> void doMethod1 
Foo PerformMethod2 -> Foo performMethod2 
:%s/\(^\s*\w\+\s\+\)\([A-Z]\)/\1\L\2/g 

Ở đây chúng tôi đang tìm kiếm (thụt lề tùy chọn theo sau là loại trả về theo sau là khoảng trắng) theo sau (Chữ hoa). Niềng răng đang chụp nhóm. Sau đó, chúng tôi đang thực hiện nhóm thay thế nhóm đầu tiên \ 1 chữ thường \ L nhóm chụp thứ hai \ 2.

Điều này tất nhiên yêu cầu bạn phải mở tệp trong Vim, nhưng dù sao điều này cũng nhanh hơn nhiều khi thực hiện điều tương tự bằng tay trong Eclipse.

0

(đối với tôi, vì tôi chỉ mới bắt đầu lập trình, đây là chi tiết thú vị để suy nghĩ về) Hãy $pattern_to_change và chuyển đổi nó từ ascii để thập phân sử dụng ord() .Take dẫn đến số tháng mười hai và thêm 32. Sau đó chuyển đổi $desired_pattern trở lại ascii sử dụng chr().

Hoặc chỉ cần tải xuống SublimeText và sử dụng tính năng Tìm và thay thế của nó để Tìm tất cả các lần xuất hiện và thay thế chúng bằng văn bản khác biệt (Cao nguyên cũng có regex).

Tôi chắc chắn bạn có thể đã chuyển đổi một tỷ đô la bằng tay vì bài đăng này giống như năm tuổi, nhưng bạn có thể hoàn thành việc này trong 5 phút bằng Sublime.

Trình chỉnh sửa văn bản thực sự hữu ích.

1

Tôi cần thực hiện việc này cho một đoạn mã nguồn khổng lồ nơi các chuỗi ký tự chuỗi cần được chuyển đổi thành chữ thường. Tôi đã tìm thấy cách sử dụng Notepad ++ và plugin Python Script, như được sử dụng here.

+5

trong Notepad ++ bạn chỉ có thể sử dụng '\ L $ 1 \ E' trong chuỗi thay thế để chuyển đổi nhóm khớp đầu tiên thành chữ thường. Các tác phẩm tương tự với \ U ... \ E cho chữ hoa – fuemf5

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