例如
dim s as string = "1,a,b,c|2,e,f,g|3,t,y,u"
求每一个以“|”分开的字符串,查找以“,”分开的字符串第一个字符等于2(是个变量)的第二个字符是e。
把得到的值(e)替换成(Z)
使得s = "1,a,b,c|2,
Z,f,g|3,t,y,u"
如何写代码?谢各位指教!
[此贴子已经被作者于2010-4-23 10:46:04编辑过]
for i as integer = 0 to s.split("|").length-1
if s.split("|")(i).substring(0,1) = 2
s.split("|")(i).replace(s.split("|")(i).substring(2,1),"Z")
end if
next
dim s as string = "1,a,b,c|2,e,f,g|3,t,y,u".replace("|2,e","|2,z")
楼主的 2 是个变量,应该这样:
dim s as string = "1,a,b,c|2,e,f,g|3,t,y,u|2,e,f,g|3,t,y,u"
s= s.replace("|*,e","|*,z") '这个通配符怎么用呢?
output.show(s) '结果:1,a,b,c|2,e,f,g|3,t,y,u|2,e,f,g|3,t,y,u 哈哈 不对呀 。
不会用通配符了,还是这样清爽啊:
dim s1 as string
for i as integer = 0 to s.split("|").length-1
if s.split("|")(i).substring(0,1) = 2
s1 = s.split("|")(i).replace(s.split("|")(i).substring(2,1),"Z")
s = s.replace(s.split("|")(i),s1)
end if
next
output.show(s) '结果:1,a,b,c|2,Z,f,g|3,t,y,u|2,Z,f,g|3,t,y,u
[此贴子已经被作者于2010-4-23 13:49:28编辑过]
dim s as string = "1,a,b,c|2,e,f,g|3,t,y,u".replace("|" & 2 & "," & e,"|" & 2 & "," & z)
2、e、z都可以是变量
以下是引用mr725在2010-4-23 14:05:00的发言:
这样不是更简单:
dim s as string = "1,a,b,c|2,e,f,g|3,t,y,u|2,e,f,g|3,t,y,u"
s = s.replace("e","Z") '如果每个|....|之间只有一个e
Output.Show(s) '结果: 1,a,b,c|2,Z,f,g|3,t,y,u|2,Z,f,g|3,t,y,u
让楼主试试,看看能否满足要求?
以下是引用baoxyang在2010-4-23 16:05:00的发言:
多谢两位版主提供的帮助!
哈哈,俺不是版主,甚至不如你老弟,跟着玩fox罢了,老程才是,虽然他6楼代码有笔误,但他还是更严谨些····