goldenix Posted July 15, 2013 Posted July 15, 2013 (edited) Hi Say there are billion strings like: $string1 = 'AD 123456 d 265 SFreg' $string2= '3255' $string3 = 'AAA 87654321 reggw 234 sr EE#!¤ ' etc.. I wold like to filter out numbers from the strings. But the sequence must contain at least 5 numbers in a row. Is it possible to do so? From this example only $string1 and $string3 are good & output should be 12345 and 87654 Is there a way to identify numbers in the string ? Edited July 15, 2013 by goldenix My Projects:[list][*]Guide - ytube step by step tut for reading memory with autoitscript + samples[*]WinHide - tool to show hide windows, Skinned With GDI+[*]Virtualdub batch job list maker - Batch Process all files with same settings[*]Exp calc - Exp calculator for online games[*]Automated Microsoft SQL Server 2000 installer[*]Image sorter helper for IrfanView - 1 click opens img & move ur mouse to close opened img[/list]
Moderators Melba23 Posted July 15, 2013 Moderators Posted July 15, 2013 goldenix, Welcome the wonderful world of Regular Expressions! This works for me - I get the results you required: #include <Array.au3> Local $aLines[3] = ['AD 123456 d 265 SFreg', '3255', 'AAA 87654321 reggw 234 sr EE#!¤ '] For $i = 0 To 2 $aRet = StringRegExp($aLines[$i], "\s(\d{5})", 3) _ArrayDisplay($aRet, "Line " & $i) Next How about you? M23 goldenix 1 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 columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area
michaelslamet Posted July 15, 2013 Posted July 15, 2013 (edited) Hi, Try this: $string1 = 'AD 123456 d 265 SFreg 23131121a' $result = StringRegExp($string1, "\d{5,}\s{0,}", 3) For $i = 0 To UBound($result) - 1 MsgBox(0, "RegExp Test with Option 3 - " & $i, $result[$i]) Next Edited July 15, 2013 by michaelslamet
goldenix Posted July 15, 2013 Author Posted July 15, 2013 I was reading about RE & was even able to filter out strings that contain numbers, but how to filter them out, this was something I could not figure out. so basically its the same as this, thank you. problem solved. $aRet = StringRegExp($aLines[$i], "([0-9]{8})", 3) My Projects:[list][*]Guide - ytube step by step tut for reading memory with autoitscript + samples[*]WinHide - tool to show hide windows, Skinned With GDI+[*]Virtualdub batch job list maker - Batch Process all files with same settings[*]Exp calc - Exp calculator for online games[*]Automated Microsoft SQL Server 2000 installer[*]Image sorter helper for IrfanView - 1 click opens img & move ur mouse to close opened img[/list]
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