today2004 发表于 2011-10-30 16:51:40

文本里一个3位数的开头是另一个3位数的结尾就合并成一个5位数

000        001        002        003        004       
008        010        011        012        013       
014        016        018        020        021       
022        023        026        028        030       
031        032        034        038        040       
如上文件里有如上数据,分隔符是tab,可以改成每个3位数一行
如果其中一个3位数的开头是另一个3位数的结尾就给他们合并成一个5位数,例如上面可以合并成00001 00002 00003 ……00040
这样数据量有点大 要效率可能要求高点 嘎嘎
感谢大家帮助

user3000 发表于 2011-10-30 17:35:02

看了楼主的帖子, 我感觉自己很笨....
看了3遍, 还是没弄明白他的意思!
求聪明人解惑!

afan 发表于 2011-10-30 18:04:53

例子不具代表性。如果都是0开头,用StringFormat()前面加0补足5位数就行了

lixiaolong 发表于 2011-10-30 19:13:58

回复 1# today2004

000      001      002      003      004      
008      010      011      012      013      
014      016      018      020      021      
022      023      026      028      030      
031      032      034      038      040      

000和010=00001,000和020=00002,000和030=00003,000和040=00004.
是这个意思吧?

xms77 发表于 2011-10-30 21:13:33

回复 2# user3000
我也是,楼主就不能说明白点。

xwt620 发表于 2011-10-30 23:10:08

看不太明白,不知道是不是这个意思
00001,00002……00009,
00010,00020,00030……00090,
00100,00110,00120……
10001,10011,10021

zcool321 发表于 2011-10-30 23:26:47

说明白点吧 知道你说的怎么结合000 和 001 写成 00001但是没明白你要什么结果~!~

3mile 发表于 2011-10-31 10:08:24

左看右看没看明白是什么意思。只能猜
#include <array.au3>
Local $str="000,001,002,003,004,008,010,011,012,013,014,016,018,020,021,022,023,026,028,030,031,032,034,038,040"
$array=StringSplit($str,',',2)
;~ _ArrayDisplay($array)
Local $fin
For $i=0 To UBound($array)-2
        $temp=$array[$i]
        For $n=$i+1 To UBound($array)-1
                If StringLeft($array[$n],1)==StringRight($temp,1) Then
                        ReDim $fin
                        $fin=$temp&StringRight($array[$n],2)
                EndIf
        Next
Next
_ArrayDisplay($fin)

today2004 发表于 2011-10-31 12:25:00

是这样的 文本里 一堆3位数例如 901 ,208,304,807 要给某个3位数的结尾是另个3位数开头的这2个3位数 组合成一个五位数,如我可以组成20807

netegg 发表于 2011-10-31 12:35:56

本帖最后由 netegg 于 2011-10-31 12:37 编辑

算了吧,楼主还是给出原始文件,和要的最后结果吧,别太信任自己的语文水平了

afan 发表于 2011-10-31 12:41:38

本帖最后由 afan 于 2011-10-31 12:43 编辑

208 832 如何组? 20832? 83208? 还是如蛋蛋所说,直接给出所要全部结果,不要省略号

3mile 发表于 2011-10-31 13:19:22

回复 9# today2004
你将代码的第二行改为Local $str="901,208,304,807"看结果是你想要的吗?

today2004 发表于 2011-10-31 23:07:08

嗯嗯 就是这样的谢谢 3mile
唉……表达能力不好 耽误很多人时间了 抱歉

Qokelate 发表于 2011-11-5 00:52:19

000      001    如果其中一个3位数的开头是另一个3位数的结尾就给他们合并成一个5位数,例如上面可以合并成00001    不解 这里哪来的3位相同数?
页: [1]
查看完整版本: 文本里一个3位数的开头是另一个3位数的结尾就合并成一个5位数