• Login
Community
  • Login

Ignoring empty lines counting

Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
24 Posts 9 Posters 5.5k Views
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • В
    Владислав Пестриков @Ekopalypse
    last edited by Dec 31, 2022, 7:57 PM

    @Ekopalypse
    Oh! Godness, thanks a lot!
    I was confused your right side line counting bar is different instead left, i thought it was just a text.

    Now i write code in python scrypt plugin and if works extreemly fine (without minor issues, but nvm).

    Interesting that digit style is different. Looks like bar displaying works harder then i thought.

    Bless you and happy x-mas to you and npp community!

    1 Reply Last reply Reply Quote 0
    • M
      madara san @Владислав Пестриков
      last edited by May 2, 2023, 2:03 PM

      @Владислав-Пестриков said in Ignoring empty lines counting:

      Hello there!
      Im searching option how to ignore empty lines counting. For example:
      1 | line1
      2 |
      3 | line2
      And i want
      1 | line 1
      1 |
      2 | line2
      is there any function or plugin?
      Thanks!

      Yes, there are several ways to ignore empty lines when counting lines in a document. Here are a few options:

      Use a text editor with a line counting feature that allows you to exclude blank lines. For example, in Notepad++, you can go to “View” > “Summary” to see a summary of the document, including the number of lines with and without blank lines.

      Use a regular expression (regex) to match and replace the blank lines. In most text editors, you can use the find and replace function and search for the regex pattern “^$” (which matches an empty line) and replace it with nothing. This will effectively remove the blank lines and adjust the line numbering accordingly.

      Use a scripting language like Python or Perl to read the file and count only non-empty lines. This would require some coding, but it can be a more flexible solution if you need to perform more complex operations on the file.

      I hope this helps!

      M 1 Reply Last reply May 2, 2023, 3:20 PM Reply Quote -4
      • M
        Mark Olson @madara san
        last edited by May 2, 2023, 3:20 PM

        @madara-san
        I appreciate your (apparent?) desire to help people, but using generative AI is not the way to do this. StackOverflow has banned people from using ChatGPT, and for good reason.

        For example:

        For example, in Notepad++, you can go to “View” > “Summary” to see a summary of the document, including the number of lines with and without blank lines.
        

        This is false, the View->Summary tab does not include information on how many lines are empty.

        Use a regular expression (regex) to match and replace the blank lines. In most text editors, you can use the find and replace function and search for the regex pattern “^$” (which matches an empty line) and replace it with nothing.
        

        This is almost helpful, except that a quick attempt to actually do the thing you suggested reveals that while the find/replace form finds empty lines, the count feature does not count them. Also, the user doesn’t want to replace empty lines.

        Honestly I don’t know why I waste my breath. I’d strongly urge the forum mods to ban this user if they don’t stop wasting people’s time with uncurated crud out of ChatGPT.

        1 Reply Last reply Reply Quote 6
        • M
          Mark Olson
          last edited by May 2, 2023, 3:52 PM

          While I’m here, here’s a no-plugin way to get the answer (indirectly):

          1. Go to Find/replace form.
          2. Count the occurrences of the following regex: ^\h*\S+\h*$.
          • This is the number of lines that don’t have only whitespace.
          • You can then subtract this number from the number of lines in the document, and that’s how many empty or whitespace-only lines you have.

          TBH I think it’s pretty weird that the Count feature doesn’t count empty matches, and this could arguably be considered a bug.

          A 1 Reply Last reply May 2, 2023, 5:57 PM Reply Quote 2
          • A
            Alan Kilborn @Mark Olson
            last edited by May 2, 2023, 5:57 PM

            @Mark-Olson said in Ignoring empty lines counting:

            I think it’s pretty weird that the Count feature doesn’t count empty matches, and this could arguably be considered a bug.

            Mark All also won’t do matches of zero-length (e.g. assert-only matches like ^$), but this perhaps is more understandable since there is no text to “mark”.

            Were you going to open a bug report issue about Count?

            M 2 Replies Last reply May 2, 2023, 6:24 PM Reply Quote 1
            • M
              Mark Olson @Alan Kilborn
              last edited by May 2, 2023, 6:24 PM

              @Alan-Kilborn
              Not sure if I want to open a bug report, because I can see why this could be considered intended behavior.

              I may open one later today.

              1 Reply Last reply Reply Quote 1
              • M
                Mark Olson @Alan Kilborn
                last edited by May 3, 2023, 12:03 AM

                @Alan-Kilborn
                Actually, I came up with a good solution to the issue of Count not counting empty matches.
                Show something like 20 matches (including 10 empty matches)

                I’ll create an issue if you haven’t already, and then I’ll start on a PR.

                1 Reply Last reply Reply Quote 3
                • G
                  guy038
                  last edited by guy038 May 3, 2023, 11:22 AM May 3, 2023, 11:17 AM

                  Hello, @mark-olson, @alan-kilborn and All,

                  Regarding counting of lines, here are my solutions !


                  • First, insert this dummy text, below, in a new N++ tab
                  This
                  is
                  
                  
                  
                  a
                  
                  small
                  test
                  to
                  			
                        
                  
                  see if
                        this       test   
                  			is		OK		
                  That's the
                  END
                  
                  • Open the Find dialog ( Ctrl + F )

                  • Unchek all box options

                  • Check the Wrap around option

                  • Click on the Count button or use the Alt + T shortcut for all the examples below


                  
                  So, for one hand :
                  
                  
                      ^\R          count ALL lines with NO character ( True EMPTY lines )    =>     5 lines
                  
                   +
                  
                      ^\h+$        count ALL lines with horizontal BLANK characters ONLY     =>     2 lines
                  
                   =
                  
                      ^\h*\R       count ALL lines WITHOUT any NON-SPACE character           =>     7 lines
                  
                   +
                  
                      (?-s)\S.*    count ALL lines with, at LEAST, 1 NON-SPACE character     =>    11 lines    ( as well as  (?-s).*\S )
                  
                   =
                  
                      (?-s).*\R    count ALL lines                                           =>    18 lines
                  
                  
                  
                  And for the other hand :
                  
                  
                      ^\R           count ALL lines with NO character ( True EMPTY lines )    =>    5 lines
                  
                   +
                  
                      (?-s).*       count ALL lines with, at LEAST, 1 character               =>   13 lines 
                  
                   =
                  
                      (?-s).*\R     count ALL lines                                           =>   18 lines
                  
                  

                  Notes :

                  • Just repeat the counting , using the Mark dialog, to better identify the class of the counted lines !

                  • Of course, you may use a normal selection of text and check the in selection option to restrict the counting to that selection

                  Best Regards,

                  guy038

                  1 Reply Last reply Reply Quote 2
                  • A
                    Alan Kilborn
                    last edited by Alan Kilborn May 3, 2023, 11:27 AM May 3, 2023, 11:26 AM

                    I’ll create an issue if you haven’t already…

                    The issue that was opened:

                    https://github.com/notepad-plus-plus/notepad-plus-plus/issues/13608

                    1 Reply Last reply Reply Quote 3
                    • G
                      guy038
                      last edited by guy038 May 3, 2023, 2:30 PM May 3, 2023, 2:28 PM

                      Hi, @mark-olson, @alan-kilborn and All,

                      Did you notice this fact :

                      • The regex ^$, indeed, does not count true empty lines !

                      but :

                      • The regex ^\R does count empty lines !!

                      BR

                      guy038

                      A 1 Reply Last reply May 3, 2023, 2:30 PM Reply Quote 1
                      • A
                        Alan Kilborn @guy038
                        last edited by May 3, 2023, 2:30 PM

                        @guy038 said in Ignoring empty lines counting:

                        The regex ^$, indeed, does not count true empty lines !

                        but :

                        The regex ^\R does count empty lines !!

                        If the regex is purely an assertion, e.g. ^$ or \b (to name but two), then its match won’t be counted by Count.

                        CoisesC 1 Reply Last reply May 3, 2023, 6:50 PM Reply Quote 5
                        • CoisesC
                          Coises @Alan Kilborn
                          last edited by May 3, 2023, 6:50 PM

                          @Alan-Kilborn said in Ignoring empty lines counting:

                          @guy038 said in Ignoring empty lines counting:

                          The regex ^$, indeed, does not count true empty lines !

                          but :

                          The regex ^\R does count empty lines !!

                          If the regex is purely an assertion, e.g. ^$ or \b (to name but two), then its match won’t be counted by Count.

                          True (since a pure assertion is always an empty match), but empty matches aren’t counted regardless of how the regular expression is specified. In a file that has empty lines, but no lines containing only capital Ws, ^W*$ counts zero matches. ^\R counts all empty lines (except the last line, if it’s empty) because it isn’t an empty match: it matches line ending characters. ^.*$ and ^.+$ both count all lines that are not empty.

                          1 Reply Last reply Reply Quote 3
                          • First post
                            Last post
                          The Community of users of the Notepad++ text editor.
                          Powered by NodeBB | Contributors