ใน Intellij IDEA ฉันจะแทนที่ข้อความด้วยบรรทัดใหม่ได้อย่างไร


119

สมมติว่าฉันต้องการแทนที่เครื่องหมายจุลภาคทั้งหมดด้วยลูกน้ำและขึ้นบรรทัดใหม่โดยใช้ฟังก์ชันแทนที่ของ Intellij IDEA ฉันจะใส่อะไรในช่องค้นหา ในกลุ่มฉันใช้ & \ r

คำตอบ:


171

คุณต้องทำเครื่องหมายที่ช่อง Regex และใช้ "\ n" สำหรับอักขระบรรทัดใหม่:

ใส่คำอธิบายภาพที่นี่


และคุณจะลบบรรทัดว่างโดยใช้ regex เดียวกันได้อย่างไร :)
muasif80

97

ใช้ปุ่ม Multiline ไม่จำเป็นต้องใช้ Regex

แก้ไข: ปุ่มมัลติไลน์หายไปตั้งแต่ IntelliJ 15 แต่คุณสามารถเปิดใช้งานได้โดยคลิกเข้าไปในช่องข้อความแล้วกดAlt+EnterหรือCtrl+Shift+Enter


5
ฉันใช้ 15 และดูเหมือนว่าฟีเจอร์มัลติไลน์จะไม่มีอีกแล้ว ทำไมพวกเขาถึงลบคุณสมบัติที่มีประโยชน์เช่นนี้?
Matthew Cornell

4
นี้ยังคงมีอยู่ให้เลือกหลายบรรทัดจากนั้นคลิกCTRL+F, แล้วคลิกCTRL+Rก็น่าจะเป็นคุณลักษณะที่ซ่อนอยู่ แต่ยังคงทำงานในกรณีที่เป็นรุ่นก่อนหน้า
wired00

6
ตอนนี้ง่ายยิ่งกว่าเดิม - ลูกศรกลับรถที่มองเห็นได้จะปรากฏในช่องค้นหาหรือแทนที่ - การคลิกที่มันจะแทรกขึ้นบรรทัดใหม่
Louis St-Amour

8

กดCTRL+Fและregexเลือกช่องทำเครื่องหมาย แล้วค้นหาและแทนที่ด้วย,,\n


7

วิธีที่ง่ายที่สุดที่ฉันเคยทำคือใช้รูปแบบการแทนที่นิพจน์ทั่วไป

ใส่คำอธิบายภาพที่นี่

มีโอกาสที่คุณไม่ต้องการแทนที่{แต่เพียงแค่เก็บไว้ในการหลบหนีของฉันถ้าคุณต้องการทำเช่นนั้น


ฮ่าฮ่าดูเหมือนทุกคนจะรู้เรื่องนี้
Andrey Chaschev

มันทำและดูเหมือนว่าคุณจะเร็วขึ้นด้วย Paint :) PS: หากคุณยังไม่ได้ลองฉันขอแนะนำ Darcula! มันง่ายกว่ามากในสายตาของฉัน
pickypg

1
เป็น PicPick ที่ฉันใช้อยู่ ฉันลองใช้ Idea Darcula Theme แล้ว แต่ฉันคิดว่าฉันชินกับสีเริ่มต้นมากเกินไป
Andrey Chaschev

4

สำหรับผู้ที่กำลังมองหา multiline รุ่นเก่าแทนที่ inteliJ ด้วยเวอร์ชัน> 15.x. ดูเหมือนว่าจะซ่อนอยู่ แต่ถ้าคุณเลือกหลายบรรทัด> คลิกCTRL+Fจากนั้นคลิกทันทีCTRL+Rคุณจะพบกับการแทนที่หลายบรรทัดดั้งเดิม

สิ่งนี้ใช้ได้กับ Mac ที่IntelliJ 2016.1.3มี⌘ + F> ⌘ + R

ใส่คำอธิบายภาพที่นี่


3
คุณเพียงแค่กด ALT + Enter โดยมีโฟกัสในช่องข้อความ
Meo

แม้จะมีเคล็ดลับนี้ก็ไม่สามารถป้อนหลายบรรทัดในช่องแทนที่ได้
Daniele Torino

มันใช้งานได้ดีสำหรับฉันภายในIntelliJ 2016.1.3MAC, ⌘ + F> ⌘ + R
สาย 00

4

สำหรับ Intellij Ultimate 2017.3 บน Mac command-shift-enterใช้งานได้


1
คำตอบนี้ถูกต้องและใช้ได้กับการค้นหาและแทนที่ใน IntelliJ IDEA, PHPStorm และ WebStorm ที่ผู้ใช้ต้องการแทนที่อินสแตนซ์\nด้วยบรรทัดใหม่จริง โปรดอย่าลงคะแนนคำตอบที่เป็นประโยชน์
Bartekus

1

บน intellij Ultimate 2017.1:

ฉันไม่ต้องการ regex แต่ฉันสามารถทำให้การแทนที่หลายสายปรากฏขึ้นได้

  • ฉันป้อน \ n ในช่องที่ต้องการแทนที่
  • ฉันวางเคอร์เซอร์ไว้ในช่องที่ต้องการป้อนข้อความแทนที่แล้วคลิก Ctrl-Shift + Enter ที่นี่ฉันเพิ่งตีกลับ

ใส่คำอธิบายภาพที่นี่


0

แนวทางที่สะอาดคือการเพิ่ม(?m)หน้านิพจน์ทั่วไปซึ่งจะเปิดโหมดหลายบรรทัด สิ่งนี้มีข้อดีที่คุณสามารถใช้ในการค้นหาไฟล์ทั่วโลก (Ctrl-Shift-F)

ตัวอย่าง: (?m)\{(.|\n)*?\}ค้นหาบล็อกหลายบรรทัดที่ล้อมรอบด้วยวงเล็บปีกกา


0

เกี่ยวข้อง แต่ไม่ตรงกับที่คุณถาม แต่ฉันต้องการมันและฉันสามารถจินตนาการได้ว่าคนอื่นทำเพื่อ ดังนั้นฉันจึงมีปัญหาใน Node.js ซึ่งฉันต้องการแยกการปฏิเสธเป็นการโทรออกเป็นบันทึกและปฏิเสธเพื่อความชัดเจน

reject(error)

เข้าไป

appLogger.log(error, 'error') reject(error)

ในโหมดปกติฉันค้นหาและแทนที่

หา: reject(error)

แทนที่: appLogger.log(error, 'error')\n reject(error)

จากนั้นในโหมด regex ฉันค้นหาและแทนที่ครั้งที่สอง:

หา: \\n

แทนที่ \n


หากคำตอบของคุณเป็นประโยชน์ แต่ไม่สามารถตอบคำถามนี้ได้จริงควรถามคำถามใหม่และเพิ่มคำตอบที่นั่น เรายินดีต้อนรับคำถามและคำตอบใหม่ ๆ ที่เป็นประโยชน์เสมอและขอแนะนำให้ตอบคำถามของคุณเองหากคุณทำได้ :)
Max Vollmer

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.