找回密码
 加入
搜索
查看: 3400|回复: 7

[系统综合] 【已解決!】怎樣將一文本中的每一次前后都加上逗號。

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

大家好!請教一下,如何將一文本的每行前后都加逗號,謝謝!

如下文本的內容如下:
------------------
C1
C2
C3
C4

C5
-----
想變成的效果:
----------------
,C1,
,C2,
,C3,
,C4,
,,
,C5,
-------------------

评分

参与人数 1金钱 +10 收起 理由
afan + 10 感谢主动将修改帖子分类为[已解决],请继续 ...

查看全部评分

发表于 2010-7-28 15:09:15 | 显示全部楼层
$file = FileOpen("test.txt", 0)

While 1
    $line = FileReadLine($file)
    If @error = -1 Then ExitLoop
        $w = FileWriteLine("test2.txt",","&$line&",")
Wend
把帮助里FileReadLine的列子稍微改一下

评分

参与人数 1金钱 +20 收起 理由
afan + 20

查看全部评分

发表于 2010-7-28 15:09:48 | 显示全部楼层
本帖最后由 xsjtxy 于 2010-7-28 15:13 编辑

$file = FileOpen("test.txt", 0)
If $file = -1 Then
    Exit
EndIf
$file2 = FileOpen("test.tmp", 2)
If $file2 = -1 Then
    Exit
EndIf

While 1
    $line = FileReadLine($file)
    If @error = -1 Then ExitLoop
        if StringLeft($line, 1) <> "," then $line = ","&$line
        if StringRight($line, 1) <> "," then $line = $line&","
        FileWriteLine($file2, $line)
Wend
FileClose($file)
FileClose($file2)
FileMove("test.tmp","test.txt",1)

msgbox(0,"","完成")

评分

参与人数 1金钱 +20 收起 理由
afan + 20

查看全部评分

 楼主| 发表于 2010-7-28 19:52:29 | 显示全部楼层
回复 3# xsjtxy
感謝大家請熱情回復,Ziya兄及Xsjtxy兄的代碼都可以實現此功能。
再請教一下,若反過來,這個功能又怎樣才能實現呢?
即判斷一文本內的每行,如果是以逗號開頭就將前逗號去掉,以逗號結尾的也結尾的逗號去掉,
TEST.txt內容如下:
,c1,
,c2,c3,c4,c5,
c88,c99,

,r65,r53,c46
,r46,
期望可以變成
C1
c2,c3,c4,c5
c88,c99

r65,r53,c46
r46
------------------
发表于 2010-7-28 20:01:17 | 显示全部楼层
#3 Xsjtxy的代码是判断如果没有,就加上,
你反过来不就行了么.....
发表于 2010-7-28 22:14:47 | 显示全部楼层
给个思路:stringleft()判断头,stringright()判断尾
也可用stringmid()判断。
 楼主| 发表于 2010-7-29 14:07:42 | 显示全部楼层
回复 6# 3mile
謝謝大家的回復使我的問題得以解決,再次感謝!
在Xsjtxy兄的代碼上改一下就可以了,用StringTrimLeft及StringTrimRight。
$file = FileOpen("test.txt", 0)
If $file = -1 Then
    Exit
EndIf
$file2 = FileOpen("test.tmp", 2)
If $file2 = -1 Then
    Exit
EndIf
While 1
    $line = FileReadLine($file)
    If @error = -1 Then ExitLoop
        if StringLeft($line, 1) = "," then $line = StringTrimLeft($line, 1)
        if StringRight($line, 1) = "," then $line = StringTrimRight($line, 1)
        FileWriteLine($file2, $line)
Wend
FileClose($file)
FileClose($file2)
FileMove("test.tmp","test.txt",1)
msgbox(0,"","完成") 
发表于 2010-7-30 00:35:36 | 显示全部楼层
回复  xsjtxy
感謝大家請熱情回復,Ziya兄及Xsjtxy兄的代碼都可以實現此功能。
再請教一下,若反過來,這 ...
wenquan79 发表于 2010-7-28 19:52
$Str = _
                ',c1,' & @CRLF & _
                ',c2,c3,c4,c5,' & @CRLF & _
                'c88,c99,' & @CRLF & _
                '' & @CRLF & _
                ',r65,r53,c46' & @CRLF & _
                ',r46,'
Msgbox(0, '原字符串    ', $str)
$str = StringRegExpReplace($str, '(?m)^,|,(?=\r?\n)|,$', '')
Msgbox(0, '删除首尾半角逗号', $str)
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-10-3 12:30 , Processed in 0.095069 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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