comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Re: How to extract sub-string from array
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
Re: How to extract sub-string from array [message #61698 is a reply to message #61697] Mon, 28 July 2008 02:12 Go to previous messageGo to previous message
Allan Whiteford is currently offline  Allan Whiteford
Messages: 117
Registered: June 2006
Senior Member
Ian Dean wrote:
> Hi,
> I've got an array such as ['Test_data;01', 'Test_data;005',
> 'New_dat;100','Old_dat'....]
>
> What I'd like to do but haven;t achieved is create an array of the extension
> past the ';'
> i.e. ['01','005','100',''....]
> I've tried this:
>
> semi_colon = STREGEX(Data_array, ';')
> ; This gives an array of positions [9, 9, 7,-1...]
>
> I can replace the -1s with string lengths easily enough giving [9, 9, 7,
> 7...]
> However, I can't seem to extract the sub-strings
> I tried
> Extension = STRMID(Data_array, semi_colon + 1)
> but this gives me a 2-d array and no clue which elements I require.
> I suspect that there is some arcane use of histogram, but I am not brave
> enough to try.
>
> I know why the STRMID is failing, because the help says so, because both
> arguments are arrays.
> Looping though the list is not an option as in reality I have an array
> length in the order of 500,000
>
> Any help would be appreciated,
> Regards,
> Ian
>
>

Ian,

How about:

numbers=fix(reform((stregex(data_array,';([0-9]+)$',/extract ,/sub))[1,*]))

(you might want to change "fix" to "long" if you have numbers over
32,768ish).

Thanks,

Allan
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Previous Topic: Surface fitting image with missing data
Next Topic: idlworkspace trouble

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Wed Dec 03 13:45:01 PST 2025

Total time taken to generate the page: 2.39047 seconds