Wie kann ich wie ein Array in Autoit auf eine Zeichenfolge zugreifen? (Ich porte Code von C ++ nach Autoit)

StackOverflow https://stackoverflow.com/questions/4597006

  •  15-10-2019
  •  | 
  •  

Frage

Ok, Gah, Syntax Conversion -Problem hier ... wie würde ich das in autoit machen?

String theStr = "Here is a string";
String theNewStr = "";

for ( int theCount = 0; theCount < theStr.Size(); theCount++ )
{
theNewStr.Append(theStr[theCount]);
}

Ich versuche, auf einzelne Zeichen in einer Zeichenfolge in Autoit zuzugreifen und sie zu extrahieren. Das ist es. Vielen Dank.

War es hilfreich?

Lösung

Was ist damit:

$theStr = StringSplit("Here is a string", "") ; Create an array
$theNewStr = ""

For $i = 1 to $theStr[0] Step 1
    $theNewStr = $theNewStr & $theStr[$i]
Next
MsgBox(0, "Result", $theNewStr)

Andere Tipps

#include <string>
std::string theStr = "Here is a string";
std::string theNewStr; 
//don't need to assign blank string, already blank on create

for (size_t theCount = 0; theCount < theStr.Size(); theCount++ )
{
    theNewStr += theStr[theCount];
}
//or you could just do 
//theNewStr=theStr;
//instead of all the above

In Autoit ist es genauso einfach, eine Zeichenfolge zu kopieren. Um auf ein Stück einer Zeichenfolge (einschließlich eines Zeichens, das noch eine Zeichenfolge ist) zuzugreifen, verwenden Sie StringMid (), das von Microsoft Basic-80 und jetzt Visual Basic (und alle Grundlagen) ein Holdover ist. Sie können es trotz trotzdem tun

theNewStr = theStr

Oder Sie können es auf die harte Tour machen:

For $theCount = 1 to StringLen($theStr)
    theNewStr &= StringMid($theStr, $theCount, 1)
Next
;Arrays and strings are 1-based (well arrays some of the time unfortunately).

& ist eine Verkettung in Autoit. StringMid extrahiert einen Stück einer String. Es kann Ihnen auch ermöglichen, umgekehrt zu sein: Ersetzen Sie einen Teil einer Zeichenfolge durch etwas anderes. Aber damit würde ich Unit -Tests durchführen. Ich denke, das funktioniert in Basic, aber nicht sicher über Autoit.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top