木头人 发表于 2015-5-27 20:38:26

(已解决)请问字符串搜索,应该如何实现。

本帖最后由 木头人 于 2015-6-1 11:45 编辑

可能我表达的不太清楚,谢谢AFAN,我重新整理一下。
文本内容 A.TXT 如下。
ABCDWER:
1.23
EFGHIDK:
3.21
ABCDWER:
1.23
EFGHIDK:

EFGHIDK: 的内容为静态,1.23的内容为动态,如何获取 1.23的内容?谢了。也就是如何获取EFGHIDK: 上一行的内容?
就是不知道如何先搜索文本内容?

被充问题:如何也获取第二组包含1.23的内容?谢谢

afan 发表于 2015-5-28 08:45:20

Local $Str = _
                'ABCDWER:' & @CRLF & _
                '1.23' & @CRLF & _
                'EFGHIDK:' & @CRLF & _
                '3.21'
Local $s_0 = 'EFGHIDK:'
Local $aSR = StringRegExp($str, '(?mi)^\h*' & $s_0 & '\h*\v+(\V+)', 3)
If Not @Error Then MsgBox(0, '', $aSR)

木头人 发表于 2015-5-28 09:51:58


afan 发表于 2015-5-28 08:45 http://autoitx.com/images/common/back.gif

问题是
ABCDWER:
1.23
EFGHIDK:
3.21
是在 A.TXT 文本里的,而且 3.21 是动态不定数,这个应该怎么做?

木头人 发表于 2015-5-28 09:55:34

本帖最后由 木头人 于 2015-5-28 10:01 编辑

可能我表达的不太清楚,谢谢AFAN,我重新整理一下。
文本内容 A.TXT 如下。
ABCDWER:
1.23
EFGHIDK:
3.21

EFGHIDK: 的内容为静态,1.23的内容为动态,如何获取 1.23的内容?谢了。也就是如何获取EFGHIDK: 上一行的内容?
就是不知道如何先搜索文本内容?

木头人 发表于 2015-5-28 10:01:43

回复 2# afan


    AFAN哥,我错了,重新整理了下问题。麻烦再帮忙下。

afan 发表于 2015-5-28 10:34:30

回复 5# 木头人


    你的问题才是动态……之前要下一行,现在变成了上一行?

“就是不知道如何先搜索文本内容?” 什么叫如何先搜索? FileRead('A.txt') ?

木头人 发表于 2015-5-28 11:07:19

回复 6# afan


afan兄,我错了😣是上一行。是不是把上面的赋值变量改成file
read就行?
我错了,是上一行

afan 发表于 2015-5-28 11:11:33

Local $Str = FileRead('A.txt')
Local $s_0 = 'EFGHIDK:'
Local $aSR = StringRegExp($str, '(?mi)^(\V+)\v+\h*' & $s_0, 1)
If Not @Error Then MsgBox(0, '', $aSR)

haijie1223 发表于 2015-5-28 11:21:00

就题论题#include <array.au3>
Local $Str = _
                'ABCDWER:' & @CRLF & _
                '1.23' & @CRLF & _
                'EFGHIDK:' & @CRLF & _
                '3.21'
Local $aSR = StringRegExp($Str, '(?mi)[\d+\.]+', 3)
If Not @error Then _ArrayDisplay($aSR)

nqawen 发表于 2015-5-28 16:17:00

A 大的正则好强大啊

木头人 发表于 2015-5-28 18:48:27

回复 8# afan

解决了,非常感谢,不过,真是看不懂,这些个符号代表什么。。。谢谢了

忽然之间 发表于 2015-5-28 21:58:54

StringRegExp,filelisttoarray

忽然之间 发表于 2015-5-28 21:59:00

StringRegExp,filelisttoarray

ila 发表于 2015-5-28 23:02:07

本帖最后由 ila 于 2015-5-28 23:11 编辑

干活用正则快。
从研究的角度来说:
简单些,可以文本读入数组,遍历数组,然后根据固定部分来判断位置,固定部分上一个就是变化内容。

FileReadToArray
读取一个指定文件到一个数组.
#Include <File.au3>

木头人 发表于 2015-5-29 12:08:10

回复 8# afan
文本内容 A.TXT 如下。
ABCDWER:
1.23
EFGHIDK:
3.21
ABCDWER:
1.23
EFGHIDK:

EFGHIDK: 的内容为静态,1.23的内容为动态,如何获取 1.23的内容?谢了。也就是如何获取EFGHIDK: 上一行的内容?
就是不知道如何先搜索文本内容?

被充问题:如何也获取第二组包含1.23的内容?谢谢
页: [1] 2
查看完整版本: (已解决)请问字符串搜索,应该如何实现。