00. 文字列の逆順
MsgBox("","",StringReverse("日本に帰るぞ"))
結果:

Autoitの最新バージョン(v3.3.14.5)には「StringReverse」含まれています。
マニュアル参考サイト:
Function StringReverse
01.「パタトクカシーー」
「パタトクカシーー」という文字列の1,3,5,7文字目を取り出して連結した文字列を得る
$target = "パタトクカシーー"
$aArray = StringSplit($target,"")
Local $arr[4] = [1,3,5,7]
Local $ans = ""
For $count In $arr
$ans &= $aArray[$count]
Next
MsgBox("","",$ans)
文字列を一文字ずつ分割し、配列に入れ取り出します。

02. 「パトカー」+「タクシー」=「パタトクカシーー」
「パトカー」+「タクシー」の文字を先頭から交互に連結して文字列「パタトクカシーー」を得よ.
$targetA = "パトカー"
$targetB = "タクシー"
$aArrayA = StringSplit($targetA,"")
$aArrayB = StringSplit($targetB,"")
Local $ans = ""
For $count=1 To $aArrayA[0]
$ans &= $aArrayA[$count]
$ans &= $aArrayB[$count]
Next
MsgBox("","",$ans)
2つの文字列を一文字ずつ分割し配列に代入、それを一個ずつ取りだし新しい文字列に連結

03. 円周率
“Now I need a drink, alcoholic of course, after the heavy lectures involving quantum mechanics.”という文を単語に分解し,各単語の(アルファベットの)文字数を先頭から出現順に並べたリストを作成。
解答が円周率になる。
第一案
$s = "Now I need a drink, alcoholic of course, after the heavy lectures involving quantum mechanics."
$aArrayS = StringSplit($s," ")
Local $ans = ""
For $i=1 To $aArrayS[0]
$len = StringSplit($aArrayS[$i],"")
If StringIsAlpha($len[$len[0]])=0 Then
$len[0]=$len[0]-1
EndIf
$ans &= $len[0] & ","
Next
MsgBox("","",$ans)
文字列を空白で分割し、分割した単語の最後がアルファベットでなければ-1

第二案
$s = "Now I need a drink, alcoholic of course, after the heavy lectures involving quantum mechanics."
$s = StringRegExpReplace($s,"[.,]","")
MsgBox("","",$s)
文字列から、正規表現で「.,」ピリオド、カンマを先に取り除きます。


コメント