找回密码
 加入
搜索
查看: 3852|回复: 9

[系统综合] 【已解決!】文本處理,怎樣將一文本中所有所有逗號用分行取代

  [复制链接]
发表于 2010-7-28 11:46:36 | 显示全部楼层 |阅读模式
本帖最后由 wenquan79 于 2010-7-29 14:09 编辑

大家好!請教一下,如題。
文本內容如下:
C1,C2,C3,C4,R5,

想變成的效果:
C1
C2
C3
C4
R5
发表于 2010-7-28 12:02:13 | 显示全部楼层
$Str = 'C1,C2,C3,C4,R5,'
$str1 = StringReplace($str, ',', @CRLF)
Msgbox(0, $str, '替换后:' & @CRLF & $str1)
发表于 2010-7-28 12:11:56 | 显示全部楼层
用StringReplace把,替换为@CRLF不就行了么
 楼主| 发表于 2010-7-28 17:19:10 | 显示全部楼层

RE: 文本處理,怎樣將一文本中所有所有逗號用分行取代

感謝大家的回復,用afan兄的提供的代碼可以實現類似的功能,可能開始我沒說得很清楚,再補充說明一下:
我在實際使用時,需要直接將TEST.txt 文本中的內容變更成TEST2.txt 的樣子,同時將文本多余的空格及空白段刪除。效果請參考附件。

我寫用下面的代碼試了下實現不了,不知道問題出在什么地方。。
#include<file.au3>
#include<array.au3>
Dim $a
_FileReadToArray("test.txt",$a)
$sa = StringReplace($a, ',', @CRLF)
_FileWriteFromArray("test2.txt",$sa,1)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2010-7-27 17:32:35 | 显示全部楼层
楼主变通一下即可。
$Str = FileRead("test.txt")
$str1 = StringReplace($str, ',', @CRLF)
$str1 = StringReplace($str1, @CRLF&@CRLF,"")
Msgbox(0, $str, '替换后:' & @CRLF & $str1)
发表于 2010-7-27 22:00:39 | 显示全部楼层
#include <File.au3>
$d = FileRead("test.txt")
$t = StringRegExp($d,"\b(\w{1,2}\d{1,2})\b",3)
_FileWriteFromArray("test2.txt",$t)
勉强能解决.....
今天晚上脑子乱糟糟的
 楼主| 发表于 2010-7-28 10:38:37 | 显示全部楼层
Ziya 兄你好,測試了你提供的代碼,可以實現我想要的功能,可否幫忙將代碼解說一下,感謝!

#include <File.au3>
;將test.txt 內容讀為$d變量。
$d = FileRead("test.txt")
;以下這個StringRegExp的正表達式請幫忙解釋一下。
$t = StringRegExp($d,"\b(\w{1,2}\d{1,2})\b",3)
;將$5變量內容寫入test.txt
_FileWriteFromArray("test2.txt",$t)

另外,再請教一下,將一文本的每行前后都加上逗號的代碼,我自己沒找到相應的命令。
发表于 2010-7-28 12:15:11 | 显示全部楼层
昨天晚上写的那个是用数组了,再加逗号貌似不太好操作
在3mile的代码基础上改一下好了
$str = FileRead("test.txt");读取test.txt到$str
$str1 = StringReplace($str, ',', @CRLF);将,替换为回车
$str2 = StringReplace($str1, @CRLF&@CRLF,@CRLF);将双回车的空行替换为单回车
$str3 = StringRegExpReplace($str2,"\b(\w{1,2}\d{1,2})\b",","&"\1"&",");正则替换$str2内容
FileWrite("test2.txt",$str3);将内容写入到test2.txt
\b(\w{1,2}\d{1,2})\b
\b = 字符串开头或结尾标记
\w{1,2} = 1个或2个字母或数字或下划线或汉字
\d{1,2} = 1个或2个数字
括号表示将内容捕获为一个分组

\1是调用这个分组的内容
","&"\1"&","表示在分组内容前后加上逗号
 楼主| 发表于 2010-7-28 14:54:00 | 显示全部楼层

RE:【已解決】 文本處理,怎樣將一文本中所有所有逗號用分行取代

回复 9# Ziya

感謝Ziya 的熱心回復,問題得到解決,謝謝!
发表于 2010-7-30 00:28:39 | 显示全部楼层
这帖子被合并得乱七八糟了…
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-10-3 12:26 , Processed in 0.123547 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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