AutoPM Posted January 25, 2019 Posted January 25, 2019 is there any way to Split String At Particular Occurrence Of A Symbol. For Example //www.autoitscript.com/forum/forum/2-autoit-general-help-and-support/ How to Split Above String At Third Occurrence of "/" After Split Two strings should be //www.autoitscript.com & forum/forum/2-autoit-general-help-and-support/
Moderators Melba23 Posted January 25, 2019 Moderators Posted January 25, 2019 AutoPM, I would do it this way: $sText = "//www.autoitscript.com/forum/forum/2-autoit-general-help-and-support/" ; Look for third / $iIndex = StringInStr($sText, "/", 0, 3) ; Split string at that point $sSplit_1 = StringMid($sText, 1, $iIndex - 1) $sSplit_2 = StringMid($sText, $iIndex + 1) ConsoleWrite($sSplit_1 & @CRLF & $sSplit_2 & @CRLF) M23 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
FrancescoDiMuro Posted January 25, 2019 Posted January 25, 2019 (edited) @AutoPM You can use SRE too: #include <Array.au3> #include <StringConstants.au3> Global $arrStrings[5] = ["//www.autoitscript.com/forum/forum/2-autoit-general-help-and-support/", _ "www.autoitscript.com/forum/forum/2-autoit-general-help-and-support/", _ "www.abcd.efgh.com/", _ "//www.somethingelse.com.de.eu.com/abcdefgh", _ "www.a.b.c.d.e.f.g.h.com/something/somethingelse/anythingelse"], _ $strPattern = "^(?:\/\/)?([^\/]+)(?:\/)(.+)$", _ $arrResult For $strString In $arrStrings $arrResult = StringRegExp($strString, $strPattern, $STR_REGEXPARRAYGLOBALMATCH) _ArrayDisplay($arrResult) Next Edited January 25, 2019 by FrancescoDiMuro AutoPM and pixelsearch 2 Click here to see my signature: Spoiler ALWAYS GOOD TO READ: Forum Rules Forum Etiquette
AutoPM Posted January 25, 2019 Author Posted January 25, 2019 @FrancescoDiMuro Can you Please Explain What Exactly your Regex pattern Is Matching. I'm Little Confused.
FrancescoDiMuro Posted January 25, 2019 Posted January 25, 2019 (edited) @AutoPM The pattern is described as follows:^: anchor to match from the start of the string;(?:\/\/)?: non-capturing group. It doesn't "capture" (but matches!) the starting //, which need to be escaped with / (each of them), but their existance it's optional (?);([^\/]+): capturing group. It "captures" anything that is not a slash, from 1 to anything;(?:\/): non-capturing group. It doesn't "capture" (but matches!) the slash;(.+): capturing group. It "captures"everything, except the new line (without the modifier ?s ("DotAll")), from 1 to anything;$: anchor to match at the end of the string. Edited January 25, 2019 by FrancescoDiMuro AutoPM 1 Click here to see my signature: Spoiler ALWAYS GOOD TO READ: Forum Rules Forum Etiquette
FrancescoDiMuro Posted January 25, 2019 Posted January 25, 2019 (edited) @AutoPM You're welcome P.S.: By the way, if you want to use an online RegEx editor, try to use this website (it tells almost everything your pattern does with your test string). Edited January 25, 2019 by FrancescoDiMuro AutoPM 1 Click here to see my signature: Spoiler ALWAYS GOOD TO READ: Forum Rules Forum Etiquette
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