fuldho 发表于 2013-6-3 08:16:49

au3怎样截取两个字符串中间的字符(已解决)

本帖最后由 fuldho 于 2013-6-3 11:25 编辑

au3截取两个字符串中间的字符
$str="2.txt"
$a =已知字符串1
$b=已知字符串2

返回包括和不包括已知字符串1和已知字符串2之间的字符。

谢谢!

sanmoking 发表于 2013-6-3 09:34:48


Func ies($datt, $a, $b, $reee = "", $s = 1, $c = 1);查找$a$b之间的文字,$a = 前面的关键词,$b=后边的关键词,$s = 从哪里开始查询 ,默认从$data最开始,$c = 查询第几个,默认为1
        $start = StringInStr($datt, $a, 0, $c, $s)
        If $start > 0 Then
                $start = $start + StringLen($a);查找$a的结束位置
        Else
                Return $reee
        EndIf
        $end = StringInStr($datt, $b, 0, 1, $start);从$a的结束位置开始查找$b的位置
        If $end > 0 Then
                $amount = $end - $start;获得中间部分字符的数量
        Else
                Return $reee
        EndIf
        Return StringMid($datt, $start, $amount);返回结果
EndFunc   ;==>ies

fuldho 发表于 2013-6-3 11:26:04

本帖最后由 fuldho 于 2013-6-3 11:27 编辑

根据大虾的帮助修改一下

$txt = "帮助.txt"
$datt = FileRead($txt )
$a = "B)"
$b = "C)"
Local$amount
$start = StringInStr($datt, $a, 0, 1)
      If $start > 0 Then
                $start = $start + StringLen($a);查找$a的结束位置
      Else
               MsgBox(64, "提示", "没有找到 "&'"'&$a&'"'&" 相同的字符" )
      EndIf
      $end = StringInStr($datt, $b, 0, 1, $start);从$a的结束位置开始查找$b的位置
      If $end > 0 Then
               $amount = $end - $start;获得中间部分字符的数量
               $results= StringMid($datt, $start, $amount);返回结果
               MsgBox(64, "提示", $results)
      Else
               MsgBox(64, "提示", "没有找到 "&'"'&$b&'"'&" 相同的字符" )
      EndIf

afan 发表于 2013-6-3 12:05:42

回复 3# fuldho


    这个?
#Include <String.au3>
_StringBetween($s_String, $s_Start, $s_End [, $v_Case = -1])

fuldho 发表于 2013-6-3 13:19:20

回复 4# afan
_StringBetween只能返回到组数而不能返回对话框?

#include <String.au3>
#include <Array.au3>

_Main()

Func _Main()
Local $results= _StringBetween("123bbcd567", "bb","d5")
_ArrayDisplay($results, 'Default Search')
MsgBox(64, "", $results)
EndFunc   ;==>_Main

afan 发表于 2013-6-3 13:23:09

回复afan
_StringBetween只能返回到组数而不能返回对话框?

#include
#include

_Main()

...
fuldho 发表于 2013-6-3 13:19 http://www.autoitx.com/images/common/back.gif


    是需要字符串吗?因为其返回的是数组,需指定下标
MsgBox(64, '', $results)

fuldho 发表于 2013-6-3 13:29:32

回复 6# afan


    谢谢afan大虾指点!

jxm1220 发表于 2014-9-30 15:18:20

很有作用,支持一下

jxwhmir 发表于 2015-6-6 01:12:33

这个只执行第一次的,如果后面还有相同的字符串及内容,要如何把后面所有的相同字符串中间的内容全部提出来如何加命令呢
页: [1]
查看完整版本: au3怎样截取两个字符串中间的字符(已解决)