Board logo

标题: [求助]分离出9,10位号码 [打印本页]

作者: ka56     时间: 2010-3-29 20:58    标题: [求助]分离出9,10位号码

我想把新申请到的QQ号码分离出9,10位. QQ.txt如下: 914421872----zdhfd3e----yegdfgnoxjp_24333@foxmail.com----申请日期: 2009-10-17 914613410----oqcsd4udu----cegwgdvf_00673@foxmail.com----申请日期: 2009-10-17 1295686760----gdsf3wfe----xdyhgzmkvm_24291@foxmail.com----申请日期: 2009-10-17 917517855----kjw45rfh----lxlxdvxk_49606@foxmail.com----申请日期: 2009-10-17 1293888658----u27au6q3----gccidvqw_19724@foxmail.com----申请日期: 2009-10-17 1295776504----bwe0ggfo5----bhsdvdmym_54948@foxmail.com----申请日期: 2009-10-17 1153572352----b3gbgf7e2----rusddspph_54071@foxmail.com----申请日期: 2009-10-17 1295624496----53gfhgez----dhfrtrrqa_13930@foxmail.com----申请日期: 2009-10-17 1400678488----ll6cvchg----rjvfg6yia_81829@foxmail.com----申请日期: 2009-10-17 其中第一组"-----"前面是号码,后面是密码及其他,想得到: 9位的.txt: 914421872----zdhfd3e----yegdfgnoxjp_24333@foxmail.com----申请日期: 2009-10-17 914613410----oqcsd4udu----cegwgdvf_00673@foxmail.com----申请日期: 2009-10-17 917517855----kjw45rfh----lxlxdvxk_49606@foxmail.com----申请日期: 2009-10-17 10位的.txt: 1295686760----gdsf3wfe----xdyhgzmkvm_24291@foxmail.com----申请日期: 2009-10-17 1293888658----u27au6q3----gccidvqw_19724@foxmail.com----申请日期: 2009-10-17 1295776504----bwe0ggfo5----bhsdvdmym_54948@foxmail.com----申请日期: 2009-10-17 1153572352----b3gbgf7e2----rusddspph_54071@foxmail.com----申请日期: 2009-10-17 1295624496----53gfhgez----dhfrtrrqa_13930@foxmail.com----申请日期: 2009-10-17 1400678488----ll6cvchg----rjvfg6yia_81829@foxmail.com----申请日期: 2009-10-17 希望能找到速度快的,谢谢!!

作者: slore     时间: 2010-3-29 21:20
sort QQ.txt 然后循环判断第10位是不是- 是的话,后面的都是9位 不然就直接判断是不是第10位为-,是是9位的,不是就是10位的

作者: ka56     时间: 2010-3-29 21:35
Originally posted by slore at 2010-3-29 21:20: sort QQ.txt 然后循环判断第10位是不是- 是的话,后面的都是9位 不然就直接判断是不是第10位为-,是是9位的,不是就是10位的
谢slore大大指导!! 我基本属菜鸟级,平时只忙搞QQ,需要时才想起这里,想想惭愧啊... - -! 排序后会快些?判断语句我不会写,能给段完整的代码? 谢谢!! 先分离出一种,余下的用findstr /V反向我会.

作者: ka56     时间: 2010-3-29 22:10
@echo off for /f "tokens=1 delims=----" %%a in (QQ.txt) do if %%a LSS 1000000000 echo %%a>>9位的.txt 余下的findstr /V反向,或; for /f "tokens=1 delims=----" %%a in (QQ.txt) do if %%a GTR 1000000000 echo %%a>>10位的.txt 有效率更高的,请诸大大务指导下,谢谢!! [ Last edited by ka56 on 2010-3-29 at 22:14 ]

作者: slore     时间: 2010-3-29 23:12
@echo off&setlocal enabledelayedexpansion for /f "delims=" %%a in (QQ.txt) do ( set line=%%a if "!line:~9,1!"=="-" (echo %%a>>9位的.txt) else (echo %%a>>10位的.txt) )

作者: ka56     时间: 2010-3-29 23:37
谢谢分享又一种思路!真好,您真伟大!!