注册 登录
编程论坛 VB6论坛

如何改写两个任意数字之间的点成M

ictest 发布于 2018-11-02 16:03, 1337 次点击
一个TXT文件,内容如下:
...........22221237542221111211111111111111111111111112212212222222222.............
..........2222121902211111221222111112111122112222221212112111111112222............
.........71211111....111111111111111111111122...22212121111221111..211121..........
.........111111111....111111111111111111111118...11111111111111111..1211127........
........1111141112....222111111111111211111111...21111211111111111..11111112.......
.......31111131111....112111111111111111111117...11111111111111111..11121113.......
......61111111111....111221121111112111212111...31111111111111111..211111125.......
......411111116111....112211111111111111111114...11111111111111111..111211224......
.....211111111112....121111111111111111111112...81111111111111212..211121128.......
....11111171111113....366111111111111111111116...11111111111111111..111111221......
....11111111111114231110281111111111111111111111111111111111111112111111121........
....11111111141171587651191111111111111111111111111112111111111111111111111........

现在想把每行中两个数字之间的 . 替换成字母 M ,
两边的 . 不替换,两边的 . 数量也不变,
请教该如何编写这段语句?
3 回复
#2
yingshu2018-11-02 21:59
    Dim str As String
    Dim txt As String
   
    Dim i As Integer
    Dim a As Integer, b As Integer, c As Integer
  
    Open "F:\123.TXT" For Input As #1
   
    Do While Not EOF(1)
        Line Input #1, str
            For i = 1 To Len(str)           'for循环判断首数字出现位置并赋值给a
                txt = Mid(str, i, 1)
                If IsNumeric(txt) Then
                   Exit For
                End If
            Next i
            a = i - 1
            b = Len(str)                    '确定字符总长度
            str = Replace(Trim(Replace(str, ".", " ")), " ", "M")  '赋值语句是为了截取中间位置,并替换
            c = Len(str)
            str = String(a, ".") & str & String(b - a - c, ".")
            Text1.Text = Text1.Text + vbNewLine + str   '结果显示
    Loop
#3
wds12018-11-03 10:52
Private Sub Command1_Click()
  Open "F:\123.TXT" For Input As #1
  Do While Not EOF(1)
    Line Input #1, txt
    temp = Replace(txt, ".", " ")
    L1 = String(Len(txt) - Len(LTrim(temp)), ".")
    r1 = String(Len(txt) - Len(RTrim(temp)), ".")
    m1 = Replace(Trim(temp), " ", "M")
    temp = L1 & m1 & r1
    Debug.Print temp
  Loop
End Sub
#4
yingshu2018-11-03 11:14
娘希匹的,熟的不能再熟的熟透了的知识,用时咋就没想起来
向高手致敬,受教了
1