water Posted October 12, 2009 Posted October 12, 2009 If you mean that you have a string with CRLF in it simply use$aResult = StringSplit($YourString,@CRLF,1)Gives you an array with the number of "lines" in $aResult[0] My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki
Mat Posted October 12, 2009 Posted October 12, 2009 (edited) A better method that also returns an array, but does not count blank lines and can work with any line break (@LF, @CR and @CRLF) StringRegExp ($sData, "(?:\s*)?(.+)(?:\n)?", 3) Mat Edit: It does not return the amount of lines in element "0", you will need to use UBound. Edit2: Now ignores leading whitespace on lines. Edited October 12, 2009 by Mat AutoIt Project Listing
Mat Posted October 12, 2009 Posted October 12, 2009 A much improved version, that returns the line as a string. Func _StringGetLine ($sString, $iLine, $bCountBlank = False) Local $sChar = "+" If $bCountBlank = True Then $sChar = "*" If Not IsInt ($iLine) Then Return SetError (1, 0, "") Return StringRegExpReplace ($sString, "((." & $sChar & "\n){" & $iLine - 1 & "})(." & $sChar & "\n)((." & $sChar & "\n?)+)", "\2") EndFunc ; ==> _StringGetLine Mat AutoIt Project Listing
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now