Jump to content
Sign in to follow this  
marselo

how to read specific line from a string?

Recommended Posts

water

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 2017-04-18 - Version 1.4.8.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (NEW 2017-02-27 - Version 1.3.1.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2015-04-01 - Version 0.4.0.0) - Download - General Help & Support - Example Scripts
Excel - Example Scripts - Wiki
Word - Wiki
PowerPoint (2015-06-06 - Version 0.0.5.0) - Download - General Help & Support

Tutorials:
ADO - Wiki

 

Share this post


Link to post
Share on other sites
Mat

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 by Mat

Share this post


Link to post
Share on other sites
Mat

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

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.