Jump to content

Looking StringSplit with regexp


 Share

Recommended Posts

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?

UDF List:

 
_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_ArrayFilter/_ArrayReduce_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: 22/04/2018

Link to comment
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"}

To jos:

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

Thank you

Edited by vakis
Link to comment
Share on other sites

$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

Link to comment
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")
Link to comment
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
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...