• User Defined language with Select statement AND Select group

    1
    0 Votes
    1 Posts
    217 Views
    No one has replied
  • Chercher et remplacer des caractères alignés verticalement

    2
    0 Votes
    2 Posts
    575 Views
    PeterJonesP

    @hamadou-mana,

    Hello,

    I have a big problem and I would like an urgent answer.

    I am working on a large .txt file so I would like to replace a suite of vertically aligned data and do not really know how to do it:

    the characters present themselves as follows:

    1 8 1 1

    and I would like to have this:

    1 7 1 1

    Thank you for helping me

    Assuming that’s literally all you have, it would be easy enough

    find = 1(\R)8\11\11 replace = 1${1}7${1}1${1}1 search mode = regular expression

    The (\R) matches any newline, and saves it into “group 1”. The \1 in the find-expression refers to the value of group1. The ${1} in the replace expression does the same.

    If you’ve really got something that is more complicated than that (for example, multiple columns of data, or a non-constant search and/or replace, instead of always 1811 → 1711), you will have to give us a better example of what should and what shouldn’t change, with example data that more fully matches your needs. When giving example data, please highlight it and click the </> button, which will mark it up as “code”, so that the forum doesn’t interpret special characters as Markdown and thus use it for rendering your post; as code, the forum will present the exact data you paste.

    Please also study the official Notepad++ regex docs, as well as other resources listed in this forum FAQ

  • Preview in browser not working...

    2
    0 Votes
    2 Posts
    369 Views
    rinku singhR

    Try with working HTML file for preview

  • Why does removing CR work correctly for me and not for co-worker

    4
    0 Votes
    4 Posts
    382 Views
    Phyllis FultonP

    That’s exactly what we’re doing: changing Windows (CR LF) to Unix (LF) with visible line-endings turned on. One can see that the CRs go away and only the LFs are left.

    We always double-check it afterward by opening the file in regular Notepad because it’s written in our Standard Operating Procedure – someone, some time in the past, had a problem, but they did not document the problem. They only documented that you needed to check to be sure the conversion “took.” (Very helpful, thank you, person in the past).

    Thank you for looking at our problem. It’s baffling.

  • Is this "language" already available for download ?

    3
    -2 Votes
    3 Posts
    318 Views
    Elodie CEMOIE

    Thank you very much ! I am going to test it …

  • Remove unwanted CRLF in paragraphs

    4
    0 Votes
    4 Posts
    4k Views
    Jeroen BorgmanJ

    @guy038 Thanks for this, works like a charm!
    I will study the search syntax with the REGEX doc on the side to do this myself next time.

  • Double the value of all numbers that match a line search in an XML file?

    3
    0 Votes
    3 Posts
    669 Views
    dinkumoilD

    @computeteen5

    You could use the XML Tools plugin and some XSLT code to transform your document.

    The following XSLT code creates a copy of the input XML file but doubles the value of the BasePay nodes’ text:

    <?xml version="1.0"?> <xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" omit-xml-declaration="no"/> <xsl:template match="@*|node()"> <xsl:copy> <xsl:apply-templates select="@*|node()"/> </xsl:copy> </xsl:template> <xsl:template match="BasePay"> <xsl:copy> <xsl:copy-of select="@*"/> <xsl:value-of select="text() * 2"/> </xsl:copy> </xsl:template> </xsl:transform>

    Save this code as an *.xsl file and open your XML file with Notepad++. I assume that you have already installed the XML Tools plugin.

    While your XML file is opened in the active tab, go to (menu) Plugins -> XML Tools -> XSL Transformation. In the dialog popping up click on the ... button, select your XSL file from above and click the Transform button.

  • Updating to 7.8

    2
    0 Votes
    2 Posts
    259 Views
    EkopalypseE

    @Steven-Haymes said in Updating to 7.8:

    how does the “Upgrade Scintilla from 4.1.4 to 4.2.0” effect already installed plugins?

    I’m using 7.8 but I’m using portable versions only so can’t say something about installation procedure.
    The biggest differences for plugins is that those are able now to load their
    dlls from within the plugin directory but it is not forced that the plugin does it.
    In short, I did not experience any plugin problems but have to admit, that I do not use so many different plugins.

  • Double New Line

    3
    0 Votes
    3 Posts
    347 Views
    shdawsonS

    Success, thanks.

  • Hexeditor access violation

    2
  • Can a UDL delimeter style's Close be made to ignore tabbed new lines?

    5
    0 Votes
    5 Posts
    408 Views
    David CoburnD

    @Ekopalypse
    That’s…a very good point! It’s more efficient and less cluttered to just have a unique ending delimiter rather than modify the beginning of every line. Thanks!

  • work on several lines?

    6
    0 Votes
    6 Posts
    387 Views
    guy038G

    Hello, @zen2cool and All,

    If I understand you, correctly, you would like that, given the text :

    +====================== Ticket 16392 ======================= 1 6X50G GO MY LITTLE ONE 2.89 2.89 2.89 B 1 400G NEXP CAT STER STER 3.49 3.49 3.49 B TOTAL EUROS: 3.38

    You expect the text :

    1 6X50G GO MY LITTLE ONE 2.89 2.89 2.89 B 1 400G NEXP CAT STER STER 3.49 3.49 3.49 B

    Am I right about it ? If so, use this regex S/R :

    SEARCH (?-is)^.+Ticket.+\R\R|\RTOTAL EUROS.+\R

    REPLACE Leave Empty

    Best Reards,

    guy038

  • How to do multiple search for a list of strings

    3
    0 Votes
    3 Posts
    6k Views
    guy038G

    Hello, @arhack-bifrost, @Dinkumoil and All,

    I was away from the N++ community since more than a month ( see my post below )

    https://community.notepad-plus-plus.org/post/47895

    So, my reply may be out of date !

    However, the macro, below, with 2 almost identical parts, is able to first searches, recursively, for the expression variableNumber1 in all the files of your Folder_Path. Secondly, it searches, in the same way, for the expression variableNumber2 and, finally, shows the 2 successive search operations, in the Find Result panel :-))

    <Macro name="searchTest" Ctrl="no" Alt="no" Shift="no" Key="0"> <Action type="3" message="1700" wParam="0" lParam="0" sParam="" /> <Action type="3" message="1601" wParam="0" lParam="0" sParam="variableNumber1" /> <Action type="3" message="1625" wParam="0" lParam="2" sParam="" /> <Action type="3" message="1653" wParam="0" lParam="0" sParam="X:\The_path_of_MyFolder\" /> <Action type="3" message="1652" wParam="0" lParam="0" sParam="*.c" /> <Action type="3" message="1702" wParam="0" lParam="800" sParam="" /> <Action type="3" message="1701" wParam="0" lParam="1656" sParam="" /> <Action type="3" message="1700" wParam="0" lParam="0" sParam="" /> <Action type="3" message="1601" wParam="0" lParam="0" sParam="variableNumber2" /> <Action type="3" message="1625" wParam="0" lParam="2" sParam="" /> <Action type="3" message="1653" wParam="0" lParam="0" sParam="X:\The_path_of_MyFolder\" /> <Action type="3" message="1652" wParam="0" lParam="0" sParam="*.c" /> <Action type="3" message="1702" wParam="0" lParam="800" sParam="" /> <Action type="3" message="1701" wParam="0" lParam="1656" sParam="" /> </Macro>

    Notes :

    Of course, you may add as many sections as you want to perform other searches ;-))

    The parameters value 800 means : 512 ( Direction = Down ) + 256 ( Wrap around ) + 32 = Search in sub-folders

    Two important remarks :

    Your initial macro, in your post, contains a syntax error. Indeed, the line : <Action type="3" message="1652" wParam="0" lParam="0" sParam="*.c*"" />

    should be :

    <Action type="3" message="1652" wParam="0" lParam="0" sParam="*.c" /> Secondly, note that, in all caases, the absolute folder path, let’s say "X:\The_path_of_MyFolder\", must, necessarily, ends with a backslash symbol ( \ )

    Cheers,

    guy038

  • re-emergence of an old issue

    5
    0 Votes
    5 Posts
    447 Views
    Jim JulianJ

    @PeterJones Thanks for the redirect. I read more closely and made the change.
    Thanks again.

  • Find results - Copy name of files (without hits)

    2
    0 Votes
    2 Posts
    233 Views
    guy038G

    Hello @vasile-caraus and All,

    Not very difficult, indeed !

    Do your search in files ( Ctrl + Shift + F )

    Once the Find Result panel opened, right-click inside and choose the option Select all

    Hit the shortcut Ctrl + C ( Do NOT use the Copy option of the context menu ! )

    Open a new tab ( Ctrl + N )

    Paste the clipboard ( Ctrl + V )

    Now, in that new file, perform the following regex S/R :

    SEARCH (?-si)^(?:(Search).+|\x20\x20(.+)\(.+?\)$|\t.+\R)

    REPLACE (?1echo @OFF)(?2Del\x20\2\x20/p)

    Save this new file, in your N++ directory, as, let’s say Suppression.bat

    Execute the option Run > Run... ( of hit the F5 key )

    Type in the command cmd /k Suppression.bat

    Valid the suppression of each file, by answering y

    Close the DOS window

    Et voilà !

    Remark : If your prefer to delete all files in one go, change the Replace zone as (?1echo @OFF)(?2Del\x20\2)

    Best Regards,

    guy038

  • is there regex works for col ?

    9
    0 Votes
    9 Posts
    577 Views
    guy038G

    Hi, @gurikbal-singh and All,

    I was away from the N++ community since more than a month ( see my post below )

    https://community.notepad-plus-plus.org/post/47895

    So, my reply is probably out of date and may be obsolete !

    To strictly answer your question, if you want that the second column starts at column N, use the generic regex S/R :

    SEARCH (?-s)^.{N-2}\K\x20+

    REPLACE Leave Empty

    and click, exclusively on the Replace All button

    Thus, if you need that the second column starts, let’s say, at column 21, use the following S/R :

    SEARCH (?-s)^.{19}\K\x20+

    REPLACE Leave Empty

    Of course, the number N must be in the interval [a,b], where :

    a = Maximum length of column 1 + 1

    b = Minimum column starting column 2 - 1

    So, in our example : a = 17 + 1 = 18 and b = 31 - 1 = 30 => N must be in interval [18-30]

    Best Regards,

    guy038

  • 0 Votes
    7 Posts
    1k Views
    guy038G

    Hello, @darklinkpower,

    I was away from the N++ community, since more than a month ( see my post below )

    https://community.notepad-plus-plus.org/post/47895

    So, @darklinkpower, my reply is quite out of date. But if you still look for a regex solution I can take up the challenge of performing this S/R with regexes !

    However you must give me a real example of your 2 ( short ) files A and B, as well as the expected real output file, from these 2 input files

    Simply, as your files are XML ones, in your future post, write your code in blocks, like below :

    ~~~xml


    ~~~

    Just to give you an idea, of the regexes’s powerful, let’s suppose the input text, below :

    <text><![line a[line b, line c, line d, A1, A2, A3]]></text> <text><![line a[line b, line c, line d, B1, B2, B3]]></text> <text><![line a[line b, line c, line d, line e, line f, line g, line h, C1, C2, C3, C4]]></text> <text><![line a[line b, line c, line d, line e, line f, line g, line h, D1, D2, D3, D4]]></text> <text><![line a[Small test, E1, E2, E3, E4, E5, E6, E7, E8, E9]]></text> <text><![line a[Small test, F1, F2, F3, F4, F5, F6, F7, F8, F9]]></text> <text><![line a[word 1, G1, G2]]></text> <text><![line a[word 1, H1, H2]]></text> <text><![line a[I1]]></text> <text><![line a[J1]]></text>

    Then, the following regex S/R :

    SEARCH (?-s)^(.+)(.+)\]\]></text>(\R)\1(.+)\R

    REPLACE \1\2, \4\3

    will change, when you click on the Replace All button, in one go, the text as below :

    <text><![line a[line b, line c, line d, A1, A2, A3, B1, B2, B3]]></text> <text><![line a[line b, line c, line d, line e, line f, line g, line h, C1, C2, C3, C4, D1, D2, D3, D4]]></text> <text><![line a[Small test, E1, E2, E3, E4, E5, E6, E7, E8, E9, F1, F2, F3, F4, F5, F6, F7, F8, F9]]></text> <text><![line a[word 1, G1, G2, H1, H2]]></text> <text><![line a[I1, J1]]></text>

    As you can see, this regex S/R is able to differentiate the first common part of two consecutive lines from the second variable part which must be merged in one line only ;-))

    So, see you later !

    Best Regards,

    guy038

  • Notapad++ opens ALL FILES on folder AND subfolders

    5
    0 Votes
    5 Posts
    1k Views
    EkopalypseE

    Just for completeness, I’m talking about this RC version.

  • Regex to find any lines that do NOT have a specific number of a character

    30
    0 Votes
    30 Posts
    9k Views
    guy038G

    Hi, @mark-yorkovich, and All,

    See my very late regex solution , below :

    https://community.notepad-plus-plus.org/post/47905

    Best Regards,

    guy038

  • Regex - find occurence of 2 consecutive lines

    11
    0 Votes
    11 Posts
    1k Views
    guy038G

    Hello, @fernando-avendaño217 and All,

    I was away from the N++ community, since more than a month ( see my post below )

    https://community.notepad-plus-plus.org/post/47895

    So, Fernando, my reply is quite out of date. However, just for info, here is my solution :

    SEARCH (?-is)^.+\bChecking\b.*\R.+\bFailed qualification\R

    REPLACE Leave EMPTY

    Notes :

    First the part (?-is) are in-line modifiers which implies :

    The search is processed in a non-insensitive way ( -i )

    The regex dot char ( . ) match a single standard character and not any EOF char ( -s )

    Then the part ^.+\bChecking\b.*\R looks for an entire line containing the word Checking, with that exact case

    Finally the part .+\bFailed qualification\R grabs any entire next line, which contains the exact expression Failed qualification, with that exact case

    As replacement is empty, these two consecutive entire lines are simply deleted :-))

    Best Regards,

    guy038