Sign in to follow this  
Followers 0
Damein

Extract and then delete char from string

6 posts in this topic

Alright, so I am trying to find the best way to do this.

Example:

$String = "Test"

$CharToRemove = "t"

$CharPosition = StringInStr($String, $CharToRemove)

Now the $CharPosition will give me the first instance of "t" location. Now what I want to do is remove that, and then loop back to the start, with the first "t" gone, and the second "t" to be removed.

Thanks for the help, a little lost on the most efficient way of doing this :)


MCR.jpg?t=1286371579

Most recent sig. I made

Quick Launcher W/ Profiles Topic Movie Database Topic & Website | LiveStreamer Pro Website | YouTube Stand-Alone Playlist Manager: Topic | Weather Desktop Widget: Topic | Flash Memory Game: Topic | Volume Control With Mouse / iTunes Hotkeys: Topic | Weather program: Topic | Paws & Tales radio drama podcast mini-player: Topic | Quick Math Calculations: Topic

Share this post


Link to post
Share on other sites



Damein,

Why not let StringReplace do all the work for you? :)

$sText = "TestTestTestTestTestTest"

$sNewText = StringReplace($sText, "t", "", 0, 1) ; Look in the Help file to see what the flags do. 

ConsoleWrite($sNewText & @CRLF)

M23


Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______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

 

Share this post


Link to post
Share on other sites

Well, I will be needing to display the results each time it removes one, instead of doing all at once.


MCR.jpg?t=1286371579

Most recent sig. I made

Quick Launcher W/ Profiles Topic Movie Database Topic & Website | LiveStreamer Pro Website | YouTube Stand-Alone Playlist Manager: Topic | Weather Desktop Widget: Topic | Flash Memory Game: Topic | Volume Control With Mouse / iTunes Hotkeys: Topic | Weather program: Topic | Paws & Tales radio drama podcast mini-player: Topic | Quick Math Calculations: Topic

Share this post


Link to post
Share on other sites

#4 ·  Posted (edited)

How about this then, assuming you only want to delete the lowercase Ts.

$sNewText = "TestTestTestTestTestTest"
While StringInStr($sNewText, "t", 1)
    $sNewText = StringReplace($sNewText, "t", "", 1, 1) ; Look in the Help file to see what the flags do.

    ConsoleWrite($sNewText & @CRLF)
    Sleep(1000)
WEnd
Edited by BrewManNH

If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Share this post


Link to post
Share on other sites

That should work BrewMan, thanks.

I'll change the flag to any t's, but thats fine :)

Thanks.


MCR.jpg?t=1286371579

Most recent sig. I made

Quick Launcher W/ Profiles Topic Movie Database Topic & Website | LiveStreamer Pro Website | YouTube Stand-Alone Playlist Manager: Topic | Weather Desktop Widget: Topic | Flash Memory Game: Topic | Volume Control With Mouse / iTunes Hotkeys: Topic | Weather program: Topic | Paws & Tales radio drama podcast mini-player: Topic | Quick Math Calculations: Topic

Share this post


Link to post
Share on other sites

#6 ·  Posted (edited)

What about this?

$string = "2011-03-30: This is a test to remove special characters from a string."
$pos = 3 ;find 3rd character
$schar = "t" ;character to search
$csens = 1 ;case sensitive
$replace = "*" ;replace character

ConsoleWrite(Replace_Character($string, $schar, $replace, 3) & @CRLF)

Func Replace_Character($string, $letter, $replace, $pos, $csens = 1)
    Local $new_string = $string
    Local $chk = StringReplace($new_string , $schar, $schar, 0, $csens) < $pos
    If @extended < $pos Then Return SetError(1, 0, 0)  ;less than  $pos letters found!
    $find_pos = StringInStr($new_string , $letter, $csens, $pos)
    $new_string = StringReplace($new_string , $find_pos, $replace, 1, $csens)
    Return $new_string
EndFunc

Edit: ok, this is not what you looked for...

Br,

UEZ

Edited by UEZ

Please don't send me any personal message and ask for support! I will not reply!

Selection of finest graphical examples at Codepen.io

The own fart smells best!
Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!
¯\_(ツ)_/¯

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