Home > Net >  Move all text between two "\t" in Notepad
Move all text between two "\t" in Notepad

Time:01-21

I have more than a million lines of text in this format:

AAAA BBBBBBBBBBBBBBB CCCC

Separated by \t

I want to have it in a format

AAAA_CCCC BBBBBBBBBBBBBBB

But I cannot seem to figure out how to do it using regular expressions in Notepad

CodePudding user response:

You may try the following find and replace, in regex mode:

Find:    ^(\S )\t(\S )\t(\S )$
Replace: $1_$3 $2

Here is a demo.

CodePudding user response:

If the separator is a tab, you can use

^[^\r\n\t] \K\t([^\r\n\t] )\t([^\r\n\t] )$

The pattern matches:

  • ^ Start of string
  • [^\r\n\t] Match 1 chars other than a tab or newline
  • \K\t Forget what is matches so far using \K and match a tab
  • ([^\r\n\t] ) Capture group 1, match any 1 chars other than a newline or tab
  • \t Match a tab
  • ([^\r\n\t]) Capture group 2, match 1 char other than a newline or tab
  • $ end of string

In the replacement use the 2 capture groups with an underscore in between.

_$2 $1

See a regex demo.

The result of the replacement:

AAAA_CCCC   BBBBBBBBBBBBBBB
  •  Tags:  
  • Related