使用autoit,停止输出其中没有句点的字符串

问题描述 投票:0回答:1

这是我的代码。目前,我正在拆分剪贴板中的内容,并且一次将子字符串放入其中。只是,我不想输出没有句点的任何子字符串。我希望没有句号的字符串被忽略。

Func bulkload()
    $origional = ClipGet()
    Local $string = ClipGet()
    Local $arrayofsubstrings = StringSplit($string, '!')
    Local $substringcount = 1
    Local $outToClipPut
    Do
        $outToClipPut = $arrayofsubstrings[$substringcount]
        ClipPut($outToClipPut)
        Send("{CTRLDOWN}v{CTRLUP}")
        Send(@CRLF)
        $substringcount = $substringcount + 1
        Sleep(300)
    Until $substringcount = 100
EndFunc   ;==>bulkload

或者。删除所有不包含输入的句点的连续字符串(我的意思是说,中间没有空格。也许最好说“ words”),并将此值设置为$ string。达到相同目的的任何其他方法都是可以接受的。

下一行:我希望我的代码停止输出其中没有句点的字符串。

我猜我的代码螨看起来像这样:

Func bulkload()
    $origional = ClipGet()
    Local $string = ClipGet()
    Local $arrayofsubstrings = StringSplit($string, '!')
    Local $substringcount = 1
    Local $outToClipPut
    Do
        $outToClipPut = $arrayofsubstrings[$substringcount]
        ;check for a period
        If $ouToClip = "has a period" Then
            ClipPut($outToClipPut)
            Send("{CTRLDOWN}v{CTRLUP}")
            Send(@CRLF)
            $substringcount = $substringcount + 1
            Sleep(300)
        Else
            $substringcount = $substringcount + 1
            Sleep(300)
        EndIf
    Until $substringcount = 100
EndFunc   ;==>bulkload

这不起作用:

Func bulkload()
    $origional = ClipGet()
    Local $string = ClipGet()
    Local $arrayofsubstrings = StringSplit($string, '!')
    Local $substringcount = 1
    Local $outToClipPut
    Local $searchstring = "."
    Do
        $outToClipPut = $arrayofsubstrings[$substringcount]
        If StringInStr($outToClipPut, $searchstring) Then
            ClipPut($outToClipPut)
            Send("{CTRLDOWN}v{CTRLUP}")
            Send(@CRLF)
            $substringcount = $substringcount + 1
            Sleep(300)
        Else
            $substringcount = $substringcount + 1
            Sleep(300)
        EndIf
    Until $substringcount = 100
EndFunc   ;==>bulkload
string autoit
1个回答
0
投票

下一行:我希望我的代码停止输出其中没有句点的字符串。

可能:

If Not StringInStr($aArray[$i1], $sSearch) Then ContinueLoop

示例:

Func BulkLoad(Const $sDelim = '!', Const $sSearch = '.', Const $iDelay = 250)
    Local Const $sInput = ClipGet()
    Local Const $aArray = StringSplit($sInput, $sDelim)

    For $i1 = 1 To $aArray[0]

        If Not StringInStr($aArray[$i1], $sSearch) Then ContinueLoop

        Send('^v')
        Sleep($iDelay)
        Send('{ENTER}')
        Sleep($iDelay)

    Next

EndFunc
© www.soinside.com 2019 - 2024. All rights reserved.