以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  don老师看看这个"A|A|A....|...S|A|A|A|A" 可以吗?【应该是解决了】  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=2701)

--  作者:mr725
--  发布时间:2009/5/6 13:14:00
--  don老师看看这个"A|A|A....|...S|A|A|A|A" 可以吗?【应该是解决了】
Dim Multi As string = "A|A|A|A|AC|A|A|V|A|S|A|A|A|A|AC|A|A|V|A|S|A|A|A|A"
dim hm as string
Dim Values as String()  
Values = Multi.split("|")
For i As Integer = 0 To Multi.split("|").Length-1
    hm = hm & "" & values(i)
Next
        output.show(hm)


最后的问题与解答在6楼。  应该是搞定了~
[此贴子已经被作者于2009-5-6 18:07:53编辑过]

--  作者:don
--  发布时间:2009/5/6 13:20:00
--  
全部用REPLACE即可.
--  作者:mr725
--  发布时间:2009/5/6 13:30:00
--  
以下是引用don在2009-5-6 13:15:00的发言:

我说的是第N个,如第3个,不是全部

Dim Multi As string = "A|A|A|A|AC|A|A|V|A|S|A|A|A|A|AC|A|A|V|A|S|A|A|A|A"
output.show(multi.remove(5,1))
结果:A|A|AA|AC|A|A|V|A|S|A|A|A|A|AC|A|A|V|A|S|A|A|A|A


--  作者:don
--  发布时间:2009/5/6 13:35:00
--  

呵呵,累不累?两贴重复一个问题.


--  作者:mr725
--  发布时间:2009/5/6 13:48:00
--  
以下是引用don在2009-5-6 13:35:00的发言:

呵呵,累不累?两贴重复一个问题.

只在这边做了~

[此贴子已经被作者于2009-5-6 16:59:55编辑过]

--  作者:mr725
--  发布时间:2009/5/6 17:04:00
--  
don老师的问题:
字符串: T = "A|A|A|A|AC|A|A|V|A|S|A|A|A|A|AC|A|A|V|A|S|A|A|A|A"
1.如何删除T第n个"|"?
2.如何知道第n个"|"在T中的位置?

我的解答(改了点字符串便于视图): 不知道有没有遗漏什么,大家看看~ 
Dim Multi As string = "AB|AV|AD|AE|AC|AW|B|V|A|S|SA|AX|AZ|AH|AC|AK|AL|VA|HA"
Dim hm as string
Dim hn as integer
Dim Values as String()  
Values = Multi.split("|")
For i As Integer = 0 to Values.Length-1
    hn = hn + values(i).length
    If i = 13 Then  \'这里用全局变量来确定任何小于 Multi.split("|").Length-1 个数的值吧~
        Exit For
    End If
    hm = multi.remove(hn+i,1)
Next
output.show(hm & "     清除了第 i 个 \'|\' 的位置")
结果:AB|AV|AD|AE|AC|AW|B|V|A|S|SA|AX|AZAH|AC|AK|AL|VA|HA
[此贴子已经被作者于2009-5-6 17:28:47编辑过]

--  作者:don
--  发布时间:2009/5/6 18:05:00
--  

大概是这个,不知其他狐友有没更好的办法.
唉,只有你我有点兴致,不是滋味


--  作者:狐狸爸爸
--  发布时间:2009/5/6 18:24:00
--  
呵呵,估计大家和我一样,不敢献丑,直接等着看你的答案。


Dim s1 As string = "0|1|2|3|4|5|6|7|8|9|10"
Dim Count As Integer
For i as integer = 0 to s1.length - 1
    if s1(i) = "|" Then
        Count = Count + 1
        if Count = 5 Then \'假定删除第五个
            s1 = s1.remove(i,1)     
            Exit for
        End if
    End if
Next
Output.show(s1)
[此贴子已经被作者于2009-5-6 18:25:30编辑过]

--  作者:mr725
--  发布时间:2009/5/6 18:37:00
--  
以下是引用狐狸爸爸在2009-5-6 18:24:00的发言:
呵呵,估计大家和我一样,不敢献丑,直接等着看你的答案。


Dim s1 As string = "0|1|2|3|4|5|6|7|8|9|10"
Dim Count As Integer
For i as integer = 0 to s1.length - 1
    if s1(i) = "|" Then
        Count = Count + 1
        if Count = 5 Then \'假定删除第五个
            s1 = s1.remove(i,1)     
            Exit for
        End if
    End if
Next
Output.show(s1)
[此贴子已经被作者于2009-5-6 18:25:30编辑过]

还是狐爸的简单!!!你等不是怕献丑,是细水常流式的‘滴灌’吧~  我辈初学人,就怕没有献丑的机会~呵呵图片点击可在新窗口打开查看


--  作者:lxl
--  发布时间:2009/5/6 23:06:00
--  
用正则表达式代码能简单点
Dim rx As New System.Text.RegularExpressions.Regex("(?<=(.+\\|){4}.+)\\|")
Return rx.Replace("1|2|3|4|5|6|7","",1)