找回密码
 加入
搜索
查看: 9805|回复: 21

[系统综合] (已解决)请问字符串搜索,应该如何实现。

 火.. [复制链接]
发表于 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的内容?谢谢
发表于 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[0])
 楼主| 发表于 2015-5-28 09:51:58 | 显示全部楼层
afan 发表于 2015-5-28 08:45


问题是
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哥,我错了,重新整理了下问题。麻烦再帮忙下。
发表于 2015-5-28 10:34:30 | 显示全部楼层
回复 5# 木头人


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

“就是不知道如何先搜索文本内容?” 什么叫如何先搜索? FileRead('A.txt') ?
 楼主| 发表于 2015-5-28 11:07:19 | 显示全部楼层
回复 6# afan


afan兄,我错了😣是上一行。是不是把上面的赋值变量改成file
read就行?
我错了,是上一行
发表于 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[0])
发表于 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)
发表于 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
发表于 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的内容?谢谢
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-15 01:13 , Processed in 0.126695 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表