Jump to content

String Trim Advice


 Share

Go to solution Solved by Melba23,

Recommended Posts

Good afternoon!

So, I am working with the following code, and I'm wondering if there's a more simple way to return the value $ProperString than going through this entire loop I've mashed together. 

The ultimate goal is to take a string, for example "UsersUserDesktoptestfile.txt" and have it return exactly this: "UsersUserDesktop"

The key to remember here though is that $OriginalString will vary in length as I will be pulling it from an array (Generated by Melba23's RecFileListToArray UDF), so if "UsersUserDesktopblah.txt", I would still want it to return a $ProperString of "UsersUserDesktop"

Anyone have any suggestions?

$OriginalString="Users\User\Desktop\testfile.txt"
$CharCount = 0
While 1
    If StringRight(StringTrimRight($OriginalString,$CharCount),1) = '\' Then
        $NewString = StringRight($OriginalString,$CharCount)
        ExitLoop
    EndIf
    $CharCount += 1
    $ProperString = StringTrimRight($OriginalString, $CharCount + 1)
WEnd
MsgBox(0,'String Is:', "Original String: " & $OriginalString & @CRLF & "New String: " & $NewString & @CRLF & "Proper String: " & $ProperString)
Link to comment
Share on other sites

This should get you started.

Local $drive, $dir, $filename, $extension

_PathSplit($file_path, $drive, $dir, $filename, $extension)

ConsoleWrite($drive & $dir & @CRLF)
Link to comment
Share on other sites

  • Moderators
  • Solution

Cravin,

if there's a more simple way

This is certainly shorter! :D

$OriginalString="Users\User\Desktop\testfile.txt"

; Remove everything up to and including the final "\"
$NewString = StringRegExpReplace($OriginalString, "^.*\\", "")
; And remove this from the original
$ProperString = StringReplace($OriginalString, $NewString, "")

MsgBox(0,'String Is:', "Original String: " & $OriginalString & @CRLF & "New String: " & $NewString & @CRLF & "Proper String: " & $ProperString)
And it will deal with any length of $OriginalString . ;)

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png 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 columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

Yay, thanks to both of you for your reply, but Melba's suggestion is what I was looking for.  I knew it would probably involve regular expressions but as a lot of other people do, I struggle a bit with understanding that concept fully!

Link to comment
Share on other sites

  • Moderators

Cravin,

 

I struggle a bit with understanding that concept fully!

Join the club! :D

If you want to learn more about SREs, I always recommend this site. :)

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png 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 columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

  • Moderators

Cravin,

My pleasure. :)

By the way, my holiday weekend was last week - but I will enjoy this one just as much. ;)

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png 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 columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

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...