2012-12-17 62 views
5

Tôi đang cố thay thế nhiều dấu gạch chéo "//" bằng một dấu gạch chéo "/".tìm kiếm và thay thế cho dấu gạch chéo về phía trước

Bạn sẽ làm như thế nào?

Ngoài ra, Bạn sẽ thay thế "asd/qwe/zxc" bằng "fgh/vbn" như thế nào?

Tôi có thể thực hiện theo cách này một nửa bằng cách sử dụng bên dưới. Nhưng làm cách nào để sử dụng dấu gạch chéo chuyển tiếp trong chuỗi tìm kiếm hoặc chuỗi thay thế.

:%s/asd.qwe.zxc/fgh/g 

Trả lời

12

Hoặc là thoát hoặc sử dụng các dấu phân tách khác nhau.

:s/\/\//\//g 
:s#//#/#g 

Tôi thích cái sau.

nhỡ phần thứ hai:

:s/asd\/qwe\/zxc/fgh\/vbn/g 
:[email protected]/qwe/[email protected]/[email protected] 

Bạn có thể chọn bất kỳ dấu phân cách mà bạn muốn theo cách thức tương tự mà bạn có thể trong ed hoặc sed.

+0

+1 - đó là câu trả lời của guru mà tôi đã đề cập đến :) – RocketDonkey

2

Bạn có thể thử sử dụng:

:%s/\/\//\//g 

để thay thế tất cả các dấu gạch chéo kép với dấu gạch chéo đơn (mặc dù tôi tưởng tượng một guru sẽ hiển thị một cách rất mát ngay :)). Ý tưởng chung là bạn cần phải thoát khỏi các dấu gạch chéo.

1

Hãy thử điều này

Esc :

:1,$s/asd\/qwe\/zxc/fgh\/vbn/g

Bạn cần phải thoát khỏi '/' bằng xuyệc ngược '\'.

0
:%s/\/\//\#/gc 

Nó thay thế nhận xét OpenSCAD (//) thành nhận xét Python (#).

// Faces: 60 
    F = [ 
     [ 0, 1, 2], // 0 
     [ 1, 3, 4], // 1 
     [ 1, 4, 2], // 2 
     [ 2, 4, 5], // 3 
     [ 0, 2, 6], // 4 

    # Faces: 60 
    F = [ 
     [ 0, 1, 2], # 0 
     [ 1, 3, 4], # 1 
     [ 1, 4, 2], # 2 
     [ 2, 4, 5], # 3 
     [ 0, 2, 6], # 4 
Các vấn đề liên quan