Hi wie kann ich leerzeichen aus einem String rausfiltern
denn wenn sich ein Leerzeichen bei Eingabe reinschleicht
rechnet er nicht mehr und das Ergebnis ist 0
Leerzeichen rausfiltern
-
- [ offen ]
-
Tecoist -
29. August 2009 um 19:44 -
Geschlossen -
Erledigt
-
-
- Offizieller Beitrag
StringReplace ist das Zauberwort.
Spoiler anzeigen
[autoit]$text = StringReplace("this is a line of text", " ", "")
[/autoit]
$numreplacements = @extended
MsgBox(0, "New string is", $text)
MsgBox(0, "The number of replacements done was", $numreplacements) -
Das habe ich schon längst versucht geht aber trozdem nicht
[autoit]If GuiCtrlRead($combo1)="USD" and GuiCtrlRead($combo2)="EUR" and GuiCtrlRead($Input1) <> "" Then
[/autoit]
leeren()
GuiCtrlSetData($Input2,Round(_umw(GuiCtrlRead($Input1),StringReplace($USD[0]," ","")),3))Ausgabe = 0
-
- Offizieller Beitrag
Wie soll man deinen Fehler in dem Schnipsel finden? Ich denke mal, es wird zuviel verschachtelt.
-
Nein Nein
Hier z.b ist der Wert auch 0
[autoit]
[/autoit][autoit][/autoit][autoit]
$INPUT1=INputbox("","")
$INPUT2=INputbox("","")$RPL=StringReplace($INPUT1 * $INPUT2," ","")
[/autoit][autoit][/autoit][autoit]Msgbox(0,"",$RPL)
[/autoit]Gib in der ersten z.b 5 ein
und in der zweiten z.b 3 und ein paar LeerzeichenAusgabe=0
Wie kann man das verhindern ?
-
Du mußt die Leerzeichen zuerst entfernen und dann multiplizieren
[autoit]$INPUT1 = InputBox("", "")
[/autoit][autoit][/autoit][autoit]
$INPUT2 = InputBox("", "")$INPUT1 = StringReplace($INPUT1, " ", "")
[/autoit][autoit][/autoit][autoit]
$INPUT2 = StringReplace($INPUT2, " ", "")$RPL = $INPUT1 * $INPUT2
[/autoit][autoit][/autoit][autoit]MsgBox(0, "", $RPL)
[/autoit] -
versuch mal StringStripWS
-
Danke so geht es
-
- Offizieller Beitrag
Also das ist aber von hinten durch die Brust ins Auge.
Da gibt es schönere Möglichkeiten. -
- Offizieller Beitrag
Xenobiologist . Nicht lange drumrumreden. Zeigen!
-
- Offizieller Beitrag
Einfach Number() verwenden. Das kickt Leerzeichen allein raus.
-
Geht nicht auch trim?
//Edit: NEIN, falsche Programmiersprache :pinch:
Ich glaub ich leg mich doch besser hin :wacko: -
zu Number()
Aber wenn ein Leerzeichen zwischen den Ziffern vorkommt, gehts nicht, denn dann wieder das Leerzeichen nicht entfernt, sonst alles nach dem Leerzeichen abgeschnitten -
Wie wärs mit StringSpli?
Wenn du sagst
[autoit]$input1 = InputBox ("", "")
[/autoit]
$input2 = InputBox ("", "")
$input1split = StringSplit ($input1, " ")
$input2split = StringSplit ($input2, " ")
[autoit]
Geben $input2split und $input1split Array ohne leerzeichen zurück...
Also dann so:$input1 = InputBox ("", "")
[/autoit]
$input2 = InputBox ("", "")
If StringInStr ($input1, " ") Then
$input1split = StringSplit ($input1, " ")
$i = 1
$input1 = ""
Do
$input1 &= $input1split[$i]
$i += 1
Until $i = $input1split[0]
Endif
If StringInStr ($input2, " ") Then
$input2split = StringSplit ($input2, " ")
$i = 1
$input2 = ""
Do
$input2 &= $input2split[$i]
$i += 1
Until $i = $input2split[0]
EndifUnd dannfindest du in $input2 keine Leers und in $input1 keine leers mehr...
-
- Offizieller Beitrag
Dann nimm die einfachste Lösung:
Verwende keine InputBox, sondern ein Input mit $ES_NUMBER.