我在做TXT文件格式转换时,遇到一个想不明白的问题,请帮看看:
   文本文件名:20060619
   其中的内容格式:
           
0001175120 20060619072331 01 1 0 000 00000 00000
0001161688 20060619072614 01 1 0 000 00000 00000
0001171240 20060619072707 01 1 0 000 00000 00000现在想截取成如下格式(字符长度为22):
  0001175120200606190723
  0001161688200606190726
  0001171240200606190727
然后格式成:0001171240 Tab键 2006-06-19 Tab键 07:27
我能做到这一点,但有个地方不明白,想请教各位:'先去掉所有的空格
strline = Trim(Mid(Replace(strline, " ", ""), 1, 23))
当我取22时,就变成 07:2另外在取2006这个字符串时
使用mid(strline,11,5)才取到
明明是4个字符,为什么要取5 个?

解决方案 »

  1.   

    strline = Trim(Mid(Replace(strline, " ", ""), 1, 23))
    这个估计是回车换行的问题
    回车换行符也占位
    我估计你使用mid(strline,11,5)才取到
    你没有试下用mid(strline,12,5)
    可能还是回车换行符占位的问题
      

  2.   

    to aspower 兄:
         strline = Trim(Mid(Replace(strline, " ", ""), 1, 23))    这个刚才我又试了一下.得到的结果是:    0001175120 200606190723 中间的那几个空格去不了,    还请再帮一下,谢谢!
      

  3.   

    我看你这个好像数字固定的
    0001175120
    你就这样
    left(strline,10)
    mid(strline,20,7)
    然后把他们合并起来
    这样就省得麻烦了
    还有如果中间的空格去不掉可能是空格的格式的问题如果是中文的空格这样是替换不了的
      

  4.   

    to aspower兄:
         为什么我格式后总会多一个数字9呢:
       00011749139 2006-06-19 07:08
       00011751209 2006-06-19 07:23    
      

  5.   

    lz的文件是不是由excel導出來的啊?
    我估計其中某些空格不是 空格(chr(32)),而是Tab(chr(9))或別的不可見字符,建議你用UltraEdit之類打開文件來看看它的ascii碼。然後再確定除了用Replace(strline, " ", "")還該用Replace(strline, chr(?), "")。