Jump to content

[SOLVED] _StringBetween can remove?

Recommended Posts

Hi guys, i have a simple question. Sometime i'm using _StringBetween for situation like this:

$test = "asdtewe[asdsad231321132@#]"
$string = _StringBetween($test,"[","]")

Result is:


But if i want to remove that piece of string? Example remove all character/number/symbol between "[" and "]", included the "[" "]"? For a result like this:


Someone can post an example?

Thanks for support :)

Edited by johnmcloud
Link to post
Share on other sites

Try this:

#include <String.au3>
$test = "asdtewe[asdsad231321132@#]"
$temp =  _StringBetween($test,"[","]")
$string =StringReplace($test, "[" & $temp[0] & "]", "")
ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $string = ' & $string & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console

I'm sure there's a RegEx that would do the same thing in one line, but I haven't wrapped my head around RegEx yet, to my shame.

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

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
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By ruslanas402
      Why doesn't print the output??

      #include <String.au3> Global $x = 'gdsgklj fsdl dasfgh fsfef ghterfsd kia gdfhgfgdsgklj fsdl dasfgh fsfef' $z = _StringBetween($x, 'fsdl', 'kia') ConsoleWrite($z & @CRLF)
      Shouldn't it be
      dasfgh fsfef ghterfsd   instead of nothing?
    • By 6105
      Hi, have here some alternative method to count rows..

      I can't use StringSplit coz array is already buided with _StringBetween, some tips pls,
      Reproducer code:

      #include <String.au3> #include <Array.au3> #include <IE.au3> $file = @TempDir&'\au3test.tmp' ConsoleWrite('File = '&$file&@CRLF) $oIE = _IECreate('http://autoitscript.com/forum',0,0) _IELoadWait($oIE) $sHTML = _IEBodyReadHTML($oIE) $wFile = FileWrite($file,$sHTML) $nFileHTML = FileOpen($file, 0) If @error then ConsoleWrite('error with FileOpen($file, 0)'&@CRLF) While 1 Local $aArray[10], $aRead = FileReadLine($nFileHTML) If @error then ExitLoop $aSearch = StringInStr($aRead,'<LI><SPAN') If $aSearch > 0 Then $aArray = _StringBetween($aRead, 'href="', '"') _ArrayDisplay($aArray) EndIf WEnd ProcessClose('IEXPLORE.EXE') FileDelete($file)
      Thanks in advance for any tips.

    • By johnmcloud
      Hi guys, i have a little problem to set the @error to _StringBetween
      The script:

      While 1 $line = StdoutRead($CMDCommand) If @error Then ExitLoop $tmp = _StringBetween($line, "] ", '%') If Not @error Then $replace = StringReplace($tmp[0], "%", "") MsgBox(64, "Test", "string found") EndIf WEnd
      This script working, but i need to set something if the string don't match. I have try like this:

      While 1 $line = StdoutRead($CMDCommand) If @error Then ExitLoop $tmp = _StringBetween($line, "] ", '%') If Not @error Then $replace = StringReplace($tmp[0], "%", "") MsgBox(64, "Test", "string found") Else MsgBox(17, "Test", "no string found") EndIf WEnd
      But i have everytime the error MsgBox also if the string is found. Some advice?
      Thanks for support
  • Create New...