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


  Quote:
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
谢谢分享又一种思路!真好,您真伟大!!