Hi
ich möchte ein String nach ein Wort suchen und die als Variable speichern. Die stringsenthalten keine Leerzeichen. Z.B: $result = "hierstehtirgendwas?undhierauchnochmalwas".
Jetzt das "?" suchen und dann 4 Zeichen nach rechts(also h) und da ist ein wort die 4 zeichen lang sind und das soll es als Variable gespeichert werden.
Achtung! Wenn Gesuchtstrings mehrmals in einem Wort enthalten sind.. soll es in verschiedene Variable gespeichert werden. Das muss ich wohl dann mit array machen oder?
Ich würd gern selbst versuchen, aber mir fehlt eine Funktion wie man ein String raussuchen kann
mfg MaZy
GELÖST!
#include <Array.au3>
$sText = "hierstehtirgendwas?undhierauchnochmalwas?123blaeortrijtij?123Jojomennfj"
$aResult = StringRegExp($sText, '\?.{3}(.{4})', 3)
#cs
\? = das Fragezeichen selbst
.{3} = drei beliebige Zeichen (werden nicht ins Array übernommen)
(.{4}) = vier beliebige Zeichen, in Klammern gesetzt heißt: diese werden ins Array übernommen
#ce
_ArrayDisplay($aResult)
Und noch was von mir..
Spoiler anzeigen
$test = "hallo?nochmal"
[/autoit] [autoit][/autoit] [autoit]Func searchstring($string, $search)
;Gesamtzeichen
$sl = StringLen($string)
;Zeichen der gesuchten String
$sis = StringInStr($string, $search)
;Zeichen nach der gesuchten String
$dword = $sl - $sis
;Zeichenbeginn vor gesuchten String
$fl = "1"
$aword = $sis - $fl
;Alles davor löschen
$string = StringTrimLeft($string, $aword)
;Alles danach löschen
$string = StringTrimRight($string, $dword)
EndFunc
searchstring($test, "?")
[/autoit]