Search code examples
notepad++multiple-columns

Need assistance with Notepad++ to remove the last column from a huge ascii file


Good day.

I need to delete the last column from a huge file. The last column could be a a word, digit, symbol or sentence in quotes. I've tried (\w+).$ and (\w+)?.$ and several others which will remove single words or digits but not those linked by underscore words containing special characters ie: ,.+_- etc. Because the parameters are of varied length, I can't use Shift-Alt to block mark and edit the file.

Original contents:

parm1 parm2 parameter_with_different_length false
parm1 parm2 parameter_with_different_length 0
parm1 parm2 parameter_with_different_length 1
parm1 parm2 parameter_with_different_length off
parm1 parm2 parameter_with_different_length "INVITE MESSAGE"
parm1 parm2 parameter_with_different_length ""
parm1 parm2 parameter_with_different_length /tmp/audit/out
parm1 parm2 parameter_with_different_length +12345@mysite.com
parm1 parm2 parameter_with_different_length hss_ctr
parm1 parm2 parameter_with_different_length +g.poc.groupad
parm1 parm2 parameter_with_different_length S1AP-MISC
parm1 parm2 parameter_with_different_length 3002,3004,3007,4002

Expecting:

parm1 parm2 parameter_with_different_length
parm1 parm2 parameter_with_different_length
parm1 parm2 parameter_with_different_length
parm1 parm2 parameter_with_different_length
parm1 parm2 parameter_with_different_length
parm1 parm2 parameter_with_different_length
parm1 parm2 parameter_with_different_length
parm1 parm2 parameter_with_different_length
parm1 parm2 parameter_with_different_length
parm1 parm2 parameter_with_different_length
parm1 parm2 parameter_with_different_length
parm1 parm2 parameter_with_different_length

Please advise.

Regards, Bjoern


Solution

    • Ctrl+H
    • Find what: \h(?:"[^"\r\n]+"|\S+)$
    • Replace with: LEAVE EMPTY
    • TICK Wrap around
    • SELECT Regular expression
    • Replace all

    Explanation:

    \h              # horizontal space
    (?:             # non capture group
    "               # a double quote
    [^"\r\n]+       # 1 or more any character that is not a quote or linebreak
    "               # a double quote
    |               # OR
    \S+             # 1 or more any non space character
    )               # end group
    $               # end of line
    

    Screenshot (before):

    enter image description here

    Screenshot (after):

    enter image description here