Sign in to follow this  
Followers 0
turbox

Looking StringSplit with regexp

8 posts in this topic

Hello,

Can somebody tell me if there is any function like the StringSplit, but instead of text as pattern to accept regexp?

Thank you

Share this post


Link to post
Share on other sites



Hello,

Can somebody tell me if there is any function like the StringSplit, but instead of text as pattern to accept regexp?

Thank you

Just out of curiosity what is wrong with StringSplit right now?

_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 04/09/2015

Share this post


Link to post
Share on other sites

#4 ·  Posted (edited)

$str="a,b,c,d"

I want to split using the regexp: (?<!),

After the split i want to have:

$split={"a,b","c,d"}

To jos:

As far as i know the StringRegExp only match, it does not split.

Thank you

Edited by vakis

Share this post


Link to post
Share on other sites

#5 ·  Posted (edited)

$string = stringsplit("a\,b,c\,d",",")
$data = "{"
$data &= '"' & $string[1] & "," & $string[2] & '"'
for $i = 3 to UBound($string) - 1 step +2
$data &= ',"' & $string[$i] & "," & $string[$i +1] & '"'
Next
$data &= "}"
consolewrite($data)

i will do that, because i dont understand regexp

Edited by jackraymund

thanks you BrewManNH

Share this post


Link to post
Share on other sites

$str="a,b,c,d"

I want to split using the regexp: (?<!),

After the split i want to have:

$split={"a,b","c,d"}

....

Here are two methods of splitting a string on coma, ",", and not "," into an array of sub-strings.

#include <Array.au3>; Used to display arrays only.

Local $str = "a\,b,c\,dc,eg\,f,\,h,j\,"
Local $split = StringRegExpReplace($str, "([^\\])(,)", "\1`~")
;ConsoleWrite($split & @LF)
Local $aSplit = StringSplit($split, "`~", 3)
_ArrayDisplay($aSplit, "StringSplit")

; or

Local $aSplit2 = StringRegExp($str, "(.*?\\,.*?)(?:,)|.+?\\?,?.*?$", 3)
_ArrayDisplay($aSplit2, "RegExp Split")

Share this post


Link to post
Share on other sites

Ok my friend thank you.

Share this post


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
Sign in to follow this  
Followers 0