Jump to content

simple string expression problem


Recommended Posts

Hi everyone, im new to autoit and i've just had a problem about string parsing, i dont know how to use the '[...]' together with a group of characters. here's my code :

I want to retrieve the name of the street, there're the words "st ,rd, ave, circ..." after the names of the streets. So i'll get the string before those words:

Global $address = StringRegExp('540 HOWARD AVE, SAINT JOSEPH', '(.*?)[(ST)(RD)(AVE)]',1)
msgbox(0,"",$address[0])

The problem is in the part [(ST)(RD)(AVE)] , but i cant figure out any other way to this expression

Please help :D

Edited by evorlet
Link to post
Share on other sites
  • Moderators

evorlet,

Welcome to the AutoIt forum. :D

This works for me: :)

#include <array.au3>

$sList = "540 TOM  AVE, SAINT JOSEPH" & @CRLF & _
         "725 DICK ST, ST ARTHUR" & @CRLF & _
         "34 HARRY RD, NEMPNETT"

$aRet = StringRegExp($sList, "(?U)(?:d+x20)(.+)(?:x20[AVE|RD|ST])", 3)

_ArrayDisplay($aRet)

SRE expanation:

(?U)                - Look for the shortest match
(?:d+x20)         - Look for, but do not capture, several digits followed by a space
(.+)                - Capture all the characters until...
(?:x20[AVE|RD|ST]) - You find a space followed by AVE, RD or ST, which is not captured

All clear? :oops:

M23

Edit: See below for better versions. :rip:

Edited by Melba23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to post
Share on other sites
  • Moderators

Mat,

Good spot - I get caught out by that quite often. :D

But now I find you need to separate the second space like this: :rip:

(?U)(?:d+x20)(.+)(?:x20)(?:AVE|RD|ST)

Unless you know of a way to keep the 2 parts together? :oops:

M23

P.S. And please do not feel the need to apologise - if I am wrong I am wrong (as I often am)! :)

Edited by Melba23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to post
Share on other sites
  • Moderators

Mat,

personal preference

So true when it comes to SREs. :oops:

Have a good day. :D

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

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

    No registered users viewing this page.

×
×
  • Create New...