Regular Expression to replace " {" with "(newline){" in xcode
You could try the following:
- In the Find box, type space \ { $
- In the Replace box, type control+q return {
control+q is needed to quote the return key. There’s no visual feedback for typing control+q return, so the only visible character in the replace box is the opening curly brace:
Although this answers your question, there’s (at least!) one problem: it won’t indent the opening curly brace, so something like
- (void)method { for (obj in collection) { NSLog(@"%@", obj); }}
is converted to
- (void)method{ for (obj in collection){ NSLog(@"%@", obj); }}
The menu item Edit > Format > Re-Indent will place the opening curly braces in the correct indentation tab but there might be non-desired side effects to your code style.
Edit: as commented in the other answer, you might want a regular expression that matches an arbitrary number of whitespaces surrounding the curly brace, e.g. \s*{\s*$
Just copy an example of needed replacement string (new line or else) from code to replacement box.
search for this \s\{
and replace with \n\{
Your editor needs to support regular expressions in both search and replace fields. If you can't use the \n in the replace dialog because it takes the string literally, try a option-enter followed by {
, that works in most editors I tried.
- the
\s
is a space character (if therecould be more spaces you can use\s+
)
note it has to be
\s+
instead of\s*
as someone fixed because indeed\s*
also matches in case there is no space.
- the
\{
needs the backslash because{
needs to be escaped as it has anothermeaning in a regex - the
\n
is for a newline
The best way however would be to reformat your code where you choose to have your {
on a new line. Most editors allow you to set these options.
Another way is to use a code beautifier, you can google these online and some allow to change settings like that.