In Intellij IDEA how do I replace text with a new

2019-02-01 15:51发布

问题:

Say I wanted to replace all commas with commas and a new line using Intellij IDEA's replace function. What do I put in the search box? In vim I'd use &\r

回答1:

You need to check the Regex box and use "\n" for the new line character:



回答2:

Use Multiline button, no Regex is needed.

edit: the multiline button is missing since IntelliJ 15, but you can enable it by clicking into the textfield and pressing Alt+Enter or Ctrl+Shift+Enter



回答3:

Hit CTRL+F and check the regex checkbox. Then search for , and replace it with ,\n.



回答4:

The easiest way that I have done it is to use the regular expression form of replace.

Chances are that you don't want to replace the {, but just keep in my escaping them if you do want to do so.



回答5:

For those looking for the old multiline replace in inteliJ with version > 15.x. It seems somewhat hidden, but if you select multiple lines > click CTRL+F, then immediately click CTRL+R you are presented with the original multiline replace.

This is working on Mac IntelliJ 2016.1.3 with ⌘+F > ⌘+R



回答6:

For Intellij Ultimate 2017.3 on Mac, command-shift-enter works



回答7:

On intellij Ultimate 2017.1:

I didn't need regex. But I could make the multiline replace appear.

  • I entered \n in the field I wanted to replace
  • I placed my cursor in the field where I wanted to enter the replacement text, and clicked Ctrl-Shift + Enter. Here I just hit return



回答8:

A clean approach would be to add (?m) in front of the regular expression, which turns on the multi line mode. This has the advantage that you can also use it in the global file search (Ctrl-Shift-F).

Example: (?m)\{(.|\n)*?\} searches for multi-line blocks surrounded by curly braces.



回答9:

The is related but not exactly what you asked. But I needed it and I can imagine others do to. So I had the problem in Node.js where I wanted to split a reject into call into a log and reject for clarity

reject(error)

into

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

In normal mode, I did find and replace

Find: reject(error)

Replace: appLogger.log(error, 'error')\n reject(error)

Then in regex mode I did a second find and replace:

Find: \\n

Replace \n



回答10:

Ctrl + Shift + R while the replaced text is selected:

This works for Replace in Path (WebStorm 2018.2.3):

see here