Jump to content

Recommended Posts

Posted

Hi! I have a string, which mayb be like this Length: 912,260 [application/octet-stream] or this Length: 912 260 (891K) [application/octet-stream]

I need to extract a 912260 substring, without whitespaces and others symbols.

Posted

Try posting an example cuz you cant extract anything unless you know what is before or after this 912260 value.

I would use Stringinstring to get the position of the substring & StringLeft(Stringinstring ) & StringLeft again to get the value, but since I dont know how big is the value & if its always constant I cant tell more. need better example

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]
Posted

goldenix

Thanks! Your help very useful!

Need to extract a 912260 Anyone?

$string = "Length: 912 260 (891K) [application/octet-stream]"

MsgBox(0, "", _RegExp($string))

$string = "Length: 912,260 [application/octet-stream]"

MsgBox(0, "", _RegExp($string))

Func _RegExp($sString)
    Local $iResult = StringRegExp($string, "Length:\s*(\d.*) \(" , 1)
    If @error Then Return False
    Return $iResult[0]
EndFunc
  • Moderators
Posted

$string = "Length: 912 260 (891K) [application/octet-stream]"
$nNum = StringRegExpReplace($string, "(?s)(?i)(length:\s)(\d+)(\s)(\d+)([\D\d]+)", "\2\4")
ConsoleWrite($nNum & @CRLF)

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

Thank you! But string can be looks like "Length: 912,260 265 768 (891K) [application/octet-stream]" or Length: 912,260,278,536[application/octet-stream]

I don`t now how many "red" numeral exists. I need to extract all "red" numeral. :)

Edited by rasim
  • Moderators
Posted (edited)

SmOke_N

Thank you! But string can be looks like "Length: 912,260 265 768 (891K) [application/octet-stream]" or Length: 912,260,278,536[application/octet-stream]

I don`t now how many "red" numeral exists. I need to extract all "red" numeral. :)

Too tired to figure out another way:
$string = "Length: 912 260 (891K) [application/octet-stream]"
$sNum = StringRegExpReplace(StringRegExpReplace($string, "(?s)(?i)Length:\s*(.+?)\s*[\(\[][\D\d]+", "\1"), "\D+", "")
ConsoleWrite($sNum & @CRLF)
Edited by SmOke_N

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)

Took your original example and believe this will work. . . as long as the format stays fairly similar.

Sometimes you need to approach the problem from the other side :)

$string = "Length: 912 260 (891K) [application/octet-stream]"

MsgBox(0, "", _RegExp($string))

$string = "Length: 912,260 [application/octet-stream]"

MsgBox(0, "", _RegExp($string))

Func _RegExp($sString)
    $sString = StringRegExpReplace($sString, "\(\d*K\)",""); Remove all patters similar to "(###K)" or "(K)" or "(#####K)"
    $iResult = StringRegExpReplace($sString,"[^\d]",""); Remove all patters that are not digits. 
    If StringIsInt($iResult) = 0 Then Return False
    Return $iResult
EndFunc
Edited by xshark
Posted

if this nr will always stay 15 chars long then how about this?

$string = 'aba Length: 912,260 265 768 (891K) [application/octet-stream] or Length: 912,260,278,536[application/octet-stream] Length: 912,260 265 768 (891K) [ap Length: 912,260 265 768 (891K) [ap'

For $e = 1 to 999999999999999
    
    $loc = StringInStr($string, "Length: ", 2, $e) 
    If $loc = 0 then ExitLoop
    
    $ar = StringMid ($string, $loc+8 , 15 )

    ConsoleWrite($ar & @CRLF)   
Next
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]

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
×
×
  • Create New...