Jump to content

Recommended Posts

  • Moderators
Posted

  felanor said:

Hi all,

I am fairly new to autoit, and I had a fairly basic question to pose.

Is there any way to delete all characters to the left/right of a given string?

I am trying to parce a piece of text out of an html document.

Any help that can be provided would be greatly appreciated,

Thanks,

~Felanor

If you provided a snippet of the source you are trying to parse, you could get more "precise" help... Look at _StringBetween() or StringInStr() + StringRight()/StringLeft()/StringTrimLeft()/StringTrimRight() ... In other words, look at the string functions.

Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer.

Posted (edited)

  SmOke_N said:

If you provided a snippet of the source you are trying to parse, you could get more "precise" help... Look at _StringBetween() or StringInStr() + StringRight()/StringLeft()/StringTrimLeft()/StringTrimRight() ... In other words, look at the string functions.

Thanks Smoke for the quick response. I think what I am going to end up using is _StringBetween(), but I am having some issues getting it to work right.

This is the portion of the string I am working with.

Statement Number: 2008 
Issue Date: 2/24/2003 
Modified Date: 10/20/2004 

Details for Procedure
Title{DOCUMENT TITLE HERE}
RegionAll Regions

All I want pulled out of this is the item {DOCUMENT TITLE HERE]

I had thought about using the stringtrimleft and stringtrimright, but there is more data at the beginning and ending of the string that is pulled, and that data is always slightly different in size.

This is the code I tried to use to make this work, but it returned a blank string.

$browser = _IECreate ("http://website.iamworkingwith.com, 0 , 0 , 1, -1)
$html = _IEBodyReadText($browser)
$string = _StringBetween($html,"Title","Region")

All this returns, however, is a blank string in the variable $string

Thanks again for the help

Edited by felanor
Posted

Hi,

Try this:

#include <String.au3>

$String = "Statement Number: 2008" & @CRLF & _
    "Issue Date: 2/24/2003" & @CRLF & _
    "Modified Date: 10/20/2004" & @CRLF& @CRLF & _
    "Details for Procedure" & @CRLF & _
    "Title{DOCUMENT TITLE HERE}" & @CRLF & _
    "RegionAll Regions"


$Array = _StringBetween($String, 'Title', @LF)
ConsoleWrite($Array[0])

 

  Reveal hidden contents

 

 

AutoIt is simple, subtle, elegant. © AutoIt Team

Posted (edited)

  Quote

All this returns, however, is a blank string in the variable $string

It returns Array wich is have the needed value in the zero-based element.

In your case...

$browser = _IECreate ("http://website.iamworkingwith.com", 0 , 0 , 1, -1)
$html = _IEBodyReadText($browser)
$string = _StringBetween($html,"Title","Region")
MsgBox(0, "", $string[0])
Edited by MsCreatoR

 

  Reveal hidden contents

 

 

AutoIt is simple, subtle, elegant. © AutoIt Team

Posted

  MsCreatoR said:

It returns Array wich is have the needed value in the zero-based element.

In your case...

$browser = _IECreate ("http://website.iamworkingwith.com", 0 , 0 , 1, -1)
$html = _IEBodyReadText($browser)
$string = _StringBetween($html,"Title","Region")
MsgBox(0, "", $string[0])

Thank you so much MSCreatoR.

All I really needed to do was read the help file a bit closer. It would have told me the return was an array. Seems my document title had been stored all along, I just never realized it.

Thanks so much for the quick response and the assistance.

~Felanor

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
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...