2016-10-23 20 views
0

私の悪い英語を申し訳ありません。Autoit:文字列を扱う...数字を抽出する

StackOverflowは、すべての種類の問題を解決するのに本当に役立った唯一のプラットフォームです。

全体的な話:(あなたは私がブラウザベースのGUIのためのボットのようなものを作るためにいくつかの種類の言語を探していたより良く、より速く解決 を得るために私を助けるために時間と経験を持っている場合にです。完全なサイトのフラッシュ。私は失敗したImageSearchで多くの時間を失った。私は失敗した。

私は私のautoitコードをインストールしました。 Capture2Textを使用していますが、私は位置x、yをマークしてからC2Tを開始し、固定サイズを持っています もしこのステップが少し "下"を繰り返すならばテキストとその回り込みのボタンでOKです。P) そして、メインワードが(StringinStr)にあり、再度マーキングしている場合は、そのマーキングが(getClip)を探しています。 Capture2Textがクリップボードにマークされたウィンドウ全体を取得していて、左マウスウィンドウのように見えないので、わかりません。 そしてコードは少し速く眠っています。しかし、彼は少し(ピクセル)ステップで右ボタンを取得するまでのチェックのために。リスト全体を調べるのに1分ほどかかりました。 理解のために:このFlashsitze上のリストは、サイトと交換貿易引用符付きのものです。それで、開始から終了まで一周して速くなり、ボタンがあるかどうかを調べることはあまり重要ではありません。

おそらく、FlashサイトでC2TまたはAutoITコーディングの代替手段があります。 私が削除され、インストールされ、再びのAutoItを理由imagesearch.dllに問題の(私はそれをインストールすることができ波平、私は思う - 私が働いていたdoesntの)私はフラッシュサイト上のAutoItを使用して情報を入手

ショートストーリー クリップボードにCapture2Textが必要です。 は、私は特別なボタンがである場合にコードを見て、いくつかのIF持っている最高のように私はこのようないくつかのテキストを取得:。

XXXXX 0,20 XXXXXXX 0,24 Button12 0.21 XXX

"X"は決して長いか短くなることのない文字の文字です(おそらく重要でしょうか?) そして、私はそこに3つの数字が必要です - 計算を続けるためにそれらを特別な変数に入れるためです。 あなたは

は、ソリューションが

$ VAR1 = 0.20

$ var2の=でなければなりませんButton12(も固定長)を無視することができます0,24

$ Var3 = 0,21

それは、少なくとも0.20の値と最高値が900,00(そういない固定長)

感謝の神ことができ、AutoItのは、変数を計算することがそれほど複雑である - だから、得ることは非常に重要ですスペースやそのようなものがない値。 私はSQLでうまくいて、実際に部分文字列を使った解決策に取り組んだ。しかし、私はこのことのための解決策を見つけることができません。しかし、これは私にとって本当に重要です。 あなたが私を助けることができないなら、私はこの小さな事のためにExcel/VBAも使わなければなりません。 この文字列のために他のプログラムを使うのは難しいとは思えません。コードはExcelなしですべての私の記憶とCPUを食べています。

ありがとうございます! - 私を助けることを願っています!

それはそう働くテキストの特定の種類(あなたのXは任意の "単語" 文字にすることができます)のためによろしく

答えて

2

:ちょうど代替を提供する

$sText = 'XXXXX 0,20 XXXXXXX 0,24 Button12 0,21 XXX' 

$aMatch = StringRegExp($sText, '\w+\s(\d+,\d+)\s\w+\s(\d+,\d+)\s\w+\s(\d+,\d+)', 3) 
If Not @error Then 
    For $i = 0 To UBound($aMatch) -1 
     ConsoleWrite('Var ' & $i+1 & ': ' & $aMatch[$i] & @CRLF) 
    Next 
EndIf 
0

#include <array.au3> 
$sText = 'XXXXX 0,20 XXXXXXX 0,24 Button12 0,21 XXX' 
$aResult=StringRegExp($sText, " \d{1,3},\d{2} ",3) 
_ArrayDisplay($aResult) 

は、空白で囲まれたコンマの後に1~3桁の数字と正確に2桁の数字を抽出します(あなたの説明によれば、いくつかありますが、パターンで省略すると動作します)。 "X"ストリングの長さは関係ありません。

関連する問題