请教高手:数组元素怎么按内容进行拆分。。。?

东成西顺 2019-9-6 1011

例如:x=["a","b","c",":","d","e","f","g",":","h","a",":","i","j","k","l","m",":","o","p"]

想实现按":"来分组,":"这个元素在数组中出现的位置不固定,

最后得到下面的二维数组

y=[["a","b","c",":"],["d","e","f","g",":"],["h","a",":"],["i","j","k","l","m",":"],["o","p"]]

弄了好久,还是没弄出来,晕菜中。。。。盼望高手能指教指教。谢谢,谢谢!

最新回复 (8)
  • 吴彪 2019-9-6
    2
    dim x=["a","b","c",":","d","e","f","g",":","h","a",":","i","j","k","l","m",":","o","p"]
    dim j = 0, k = 0, y = []
    for i = 0 to UBound(x)
        y[j] = y[j] = null and [] or y[j]
        y[j][k] = x[i]
        j = x[i] = ":" and j + 1 or j 
        k = x[i] = ":" and 0 or k + 1
    next
    TracePrint y
  • 东成西顺 2019-9-6
    3
    你真是太厉害了,谢谢
  • 东成西顺 2019-9-6
    4
    这个问题是上一个问题变种,目前更困扰着我,希望大神再指导指导:还是原来的数组,只是":"是变动的
    例如:x=["a","b","c","nn:kk","d","e","f","g","er:ty","h","a","uu:ee","i","j","k","l","m","skd:kre","o","p"]
    数组中唯一有":"这个符号是不变的,但这个符号前有变化的内容,后有变化的内容(是个时间)郁闷啊。。。。
    想实现按包含":"的内容来分组,":"这个元素在数组中出现的位置不固定,

    最后得到下面的二维数组

    y=[["a","b","c","nn:kk"],["d","e","f","g","er:ty"],["h","a","uu:ee"],["i","j","k","l","m","skd:kre"],["o","p"]]
    谢谢,谢谢
  • 薇~ 2019-9-6
    5



  • 吴彪 2019-9-6
    6
    这不一回事吗,把x[i] = ":" 换成InStr(x[i],":",1,false) > 0
  • 东成西顺 2019-9-6
    7
    点醒梦中人。。。是的,谢谢,谢谢
  • 东成西顺 2019-9-6
    8
    薇的写法,使像我这样的新人更容易理解,也谢谢。
  • 东成西顺 2019-9-6
    9
    薇的写法,有个小处不够妙:就是要预先设定z数组的数量,为了达到这个目的,还要先提取x数组的包含":"的数量,再设定二维数组z里的元素,弄起来又是一堆的代码.....不知道我说得对不对,包含包含。。。
返回
发新帖